我正在作为学期项目制作电影院座位预订系统。我使用javafx将人名,电影名和座位号属性保存在.txt文件中,但是问题是当我为另一个人进行预订时,它会覆盖以前的记录。无论我进行多少预订,都只保存最后一个,因为每次都调用此行FileWriter data=new FileWriter("reservation.txt");
。那么有没有办法在另一个类中创建.txt文件并在另一个类中写入数据,或者有其他解决方案?
try{
FileWriter data=new FileWriter("reservation.txt");
data.write("Customer Name: "+Cinemafx.name+" ");
data.write("Movie Name: "+movieselection.movie_name+" ");
data.write("Seat Numbers: "+listString+" ");
data.close();
}
catch(Exception ex){
}
答案 0 :(得分:1)
您可以将所有数据保存在一个集合中,并在这些集合中循环一次,然后将所有内容写入Flatfile中而不会覆盖它。或者,您也可以选择使用Filewriter将数据附加到文件中,看看这个问题:Java FileWriter with append mode。
答案 1 :(得分:0)
您可以为每个注册创建一个新文件,并将其保存在注册文件夹中;这样,您不仅可以避免覆盖,而且为每个客户检索数据也将更加容易。因此,例如,您可以为文件指定客户名称,例如:
FileWriter data = new FileWriter(Cinemafx.name + ".txt");
尽管当多个客户的名称相同时,这可能会引起问题,因此您必须解决该问题。建议:也许包括一个ID字段?