这是我的表类,其中包括 Column 具有 Column name 其数据类型和 bool (如果它不是主键);并且此列列表组合成一个表。
我想通过调用 func public void SaveToFile(){} 来写这个我也尝试过一些东西,但我很困惑如何通过不删除或更改以前的记录来编写它(没有重写);因为我想要一个数据库文件,其中每个表对象及其列由一个行空间分开。
你可以从 viewColumn() 那里得到帮助;func 正常工作。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class Table
{
private ArrayList<Column> columns;
private String NAME;
private static int count=0;
public Table()
{
columns = new ArrayList<Column>();
NAME=new String();
this.NAME="Table"+count;
count++;
}
public void AddColumn(Column column)
{
columns.add(column);
}
public void SaveToFile() throws IOException
{
File f=new File("Database.txt");
f.createNewFile();
BufferedReader b =new BufferedReader(new FileReader(f));
ArrayList<Column> col =new ArrayList<Column>();
String S =b.readLine();
// *********************
//*********************
}
public boolean DeleteColumn(String name)
{
for (Column c : columns)
{
if (c.getname().equals(name)) {return columns.remove(c);}
}
return false;
}
public void viewColumns()
{
System.out.append(NAME+" ");
for(Column c: columns)
{
System.out.append("\n");
System.out.append(c.getname()+" ");
System.out.append((CharSequence) c.getdatatype()+" ");
if(c.getPK()==true)
{
System.out.print(true);
}
}
}
public String getNAME() {
return NAME;
}
}