7

可能重复: java 附加到文件 如何将数据附加到文件?

我想用java写一个文件而不清理(删除)旧数据

这是我的尝试,但当前数据将在写入新数据时被清理。

import java.io.*;

public class WriteToFileExample {

public static void main(String[] args) {
    try {
        String content = "New content to write to file";

        File file = new File("/mypath/filename.txt");

        // if file doesnt exists, then create it
        if (!file.exists())
            file.createNewFile();

        FileWriter fw = new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write(content);
        bw.close();

    } catch (IOException e) {
        e.printStackTrace();
    }
}
}
4

4 回答 4

19

使用FileWriter(String filename, boolean append)可以指示文件以附加模式打开的构造函数:

FileWriter fw = new FileWriter(file.getAbsoluteFile(), true);
                                                     //^^^^ means append
于 2012-12-18T18:09:27.363 回答
4

尝试

FileWriter fw = new FileWriter(file, true);

注:第二个参数表示追加;不需要file.getAbsoluteFile(),只需File就可以了

于 2012-12-18T18:09:26.993 回答
3

以追加模式打开文件。像

PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", true)));
于 2012-12-18T18:13:28.003 回答
1

FileWriter 接受一个布尔参数,指定是否覆盖。

试试这个 :

FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);

还访问:

http://docs.oracle.com/javase/6/docs/api/java/io/FileWriter.html#FileWriter%28java.io.File,%20boolean%29

于 2012-12-18T18:11:47.207 回答