我尝试编写一个java代码,它将为任何目录创建一个.txt文件。并且,代码会将一些字符串写入文件&将文本保存到该文件。我写了一个可以写入文件的代码,但它不能将文本保存到我的文件中。每次运行我的代码时,新文本都会覆盖现有文本。
这是我的代码:
package com.mahbub.file_object;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class WriteFile {
private static String content = "I am a text message!!";
private static BufferedWriter bw;
public static void main(String[] args) {
File file = new File("D:/test.txt");
try {
FileWriter fw = new FileWriter(file);
bw = new BufferedWriter(fw);
bw.write("I am 2nd line");
bw.newLine();
bw.write(content);
bw.close();
System.out.println("done!!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
我希望每个文本行都会一个接一个地添加到文件中而不会覆盖。谁能帮我? 先谢谢!!
答案 0 :(得分:5)
使用此构造函数:
FileWriter(File file, boolean append)
“在给定File对象的情况下构造FileWriter对象。”
http://docs.oracle.com/javase/7/docs/api/java/io/FileWriter.html
答案 1 :(得分:4)
在append mode中打开您的文件,以便它不会覆盖。
FileWriter writer= new FileWriter(fileObj.getAbsoluteFile() ,true); //flag to append