写入行之前的缓冲编写器被删除并被新的替换

时间:2016-06-15 07:49:41

标签: java

Hello over new flow ^ _ ^, 我有一个写入方法,当我调用它时,它会写入但之前的行被删除并被新的行替换。 我的写法:

public void write(String args) {
        try {
            BufferedWriter writer = new BufferedWriter(new FileWriter(file.getAbsoluteFile()));
            writer.write(args);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为每次调用FileWriter方法时,您都会在非附加(即覆盖)模式下打开新的write()。相反,请尝试在追加模式中创建FileWriter

public void write(String args) {
    try {
        BufferedWriter writer = new BufferedWriter(new FileWriter(file.getAbsoluteFile(), true));
        writer.write(args);
        writer.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

根据您的使用情况,您可以更有意义地一次完成所有写入操作,这可以首先消除对此方法的需求。但是如果你想要一个可以在某些时候附加到文件的辅助方法,那么这个答案应该会有所帮助。

有关详细信息,请参阅JavaDoc