您好我正在创建一个程序,它从GUI表单中获取数据,然后将数据保存到文本文件中。我希望每条记录都保存为文本文件中的新行,但是新记录只会覆盖文件中的现有记录。我尝试使用/ n设置一个新行和bufferedWriter.newline();两者都设置了一个空的新行,但新记录仍然覆盖了现有的记录。
下面的代码显示了保存按钮的动作侦听器,然后ToString类是我将记录保存到文本文件的位置。我怀疑我的问题与我使用子构造函数的方式有关,每个孩子显然都会覆盖之前的但我想避免这种情况。
public class save implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String name = JTextFieldname.getText();
String date = JTextFielddateofbirth.getText();
String address = JTextFieldaddress.getText();
String allergy = JTextFieldallergy.getText();
String contactno = JTextFieldparentcontactno.getText();
child b = new child(name,date,address, allergy, contactno);
ToString(b);
}
}
public static void ToString(child child){
System.out.println(child.getName() + " " + child.getDate() + " " + child.getAddress() +" " + child.getAllergy()+" " + child.getContactno() );
try {
BufferedWriter writer = new BufferedWriter ( new PrintWriter (".\\child.txt"));
writer.write(child.getName() + " " + child.getDate() + " " + child.getAddress() +" " + child.getAllergy()+" " + child.getContactno() );
writer.close();
}
catch (IOException e){
e.printStackTrace();
}
}
提前致谢!我顺便使用jre 1.8。