Java 在不删除旧数据的情况下写入文件

Java 在不删除旧数据的情况下写入文件,java,file-io,Java,File Io,可能重复: 我想用java编写一个文件,而不清除(删除)该文件中的旧数据 我运行了这段代码,发现在每次运行之后.txt文件上的所有旧数据都被清除了 我的代码在这里: import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; public class WriteToFileExample { public static void main

可能重复:

我想用java编写一个文件,而不清除(删除)该文件中的旧数据

我运行了这段代码,发现在每次运行之后.txt文件上的所有旧数据都被清除了

我的代码在这里:

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileExample {

public static void main(String[] args) {
    try {

        String content = "This is the content to write into file";

        File file = new File("/users/mkyong/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();

        System.out.println("Done");

    } catch (IOException e) {
        e.printStackTrace();
    }
}
}
试一试

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

使用可以指示以追加模式打开文件的构造函数:

FileWriter fw = new FileWriter(file.getAbsoluteFile(), true);
                                                     //^^^^ means append

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

试试这个:

FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
并参观:


以追加模式打开文件。 像


若你们能点击右边的符号,这将有点帮助。
FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", true)));