我打开文件如下
private static Formatter x;
public static void openFile(){
try{
x=new Formatter("sarit.text");
}
catch(Exception e){
System.out.println("error");
}
}
我在此处向文件中添加信息,但是将信息添加到此文件中的问题会删除插入信息之前文件中的所有内容
public static void addRecords(String age,String city,String name, String password){
x.format(" "+name+" "+password+" "+age+" "+city+"\n");
}
public static void closeFile(){
x.close();
}
答案 0 :(得分:3)
欢迎使用StackOverflow!
您正在做new Formatter("sarit.text");
检查javadoc是否为 https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html#Formatter(java.lang.String)
如果文件存在,它将被截断为零大小
您需要附加到文件。 问题How to append text to an existing file in Java提供了有关如何在Java中附加到文件的答案。
答案 1 :(得分:0)
假设您使用的是java.util.Formatter,则文档特别说明:
如果文件存在,则它将被截断为零大小;除此以外, 将创建一个新文件
您必须找到一种不同的方法,例如,使用BufferedWriter:
BufferedWriter writer = new BufferedWriter(new FileWriter(file, true));
true
参数告诉FileWriter追加到文件。
如果要使用格式,请使用String.format():
writer.write(String.format(...));