如何向.txt文件添加新信息而不删除java中的任何旧数据

如何向.txt文件添加新信息而不删除java中的任何旧数据,java,txt,Java,Txt,我想将所有销售信息存储在一个txt文件中,但每次输入新信息时,它都会删除旧信息。知道为什么吗 try { BufferedWriter bfw = new BufferedWriter(new FileWriter(file1)); BufferedWriter bfw1 = new BufferedWriter(new FileWriter(file2)); bfw.write(Total.getText()); bfw.newLine(); Str

我想将所有销售信息存储在一个txt文件中,但每次输入新信息时,它都会删除旧信息。知道为什么吗

try {
    BufferedWriter bfw = new BufferedWriter(new FileWriter(file1));
    BufferedWriter bfw1 = new BufferedWriter(new FileWriter(file2));

    bfw.write(Total.getText());
    bfw.newLine();

    String timeStamp = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss").format(new java.util.Date());
    bfw1.write(timeStamp);
    bfw1.newLine();

    bfw.close();
    bfw1.close();
} catch (IOException ex) {
    Logger.getLogger(FrmFacturas.class.getName()).log(Level.SEVERE, null, ex);
}

您可以向FileWriter构造函数添加第二个参数:

BufferedWriter bfw=new BufferedWriter(new FileWriter(file1,true))

您可以使用Files.nio:


Files.writeString(file1.toPath(),textToWrite,StandardOpenOption.APPEND)
您必须在APPEND模式下打开文件才能执行此操作,将true添加为FileWriter中的第二个参数

BufferedWriter bfw = new BufferedWriter(new FileWriter(file1,true));

谢谢你,我试过了,但是它不起作用,就像你希望附加时间戳一样,试着使用这个代码字符串textToAppend=“yourtimestamp”//为附加模式BufferedWriter writer设置true=new BufferedWriter(new FileWriter(“c:/temp/samplefile.txt”,true));writer.write(textToAppend);writer.close();我尝试了这个文件t=新文件(file1);Files.writeString(t.toPath()、Total.getText()、StandardOpenOption.APPEND);但是没有工作,我在写的时候出错了。你犯了什么错误?用FileWriter,它比你更有效!那么你能把这个设置为可接受的答案吗?:-)