我想在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();
}
}
}
答案 0 :(得分:14)
使用构造函数FileWriter(String filename, boolean append)
可以指示文件以追加模式打开:
FileWriter fw = new FileWriter(file.getAbsoluteFile(), true);
//^^^^ means append
答案 1 :(得分:3)
尝试
FileWriter fw = new FileWriter(file, true);
注意:第二个参数意味着追加;不需要file.getAbsoluteFile(),只需文件就可以了
答案 2 :(得分:3)
以追加模式打开文件。 像
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", true)));
答案 3 :(得分:1)
FileWriter接受一个布尔参数,指定是否覆盖。
试试这个:
FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
也访问: