我有一个文件编写器,它从用户获取String数据并将其写入文件。但是文件编写器会替换该文件中已有的数据。我如何阻止它这样做?我只想继续添加信息,而不是写一些东西。
这是代码
String info = scan.nextLine();
File myFile = new File ("/home/greg/workspace/Mavericks/fred.txt");
FileWriter writer = new FileWriter (myFile);
writer.write(register);
writer.flush();
感谢。我修好了。现在我只想让作者用空格写。当我写入文件时,它只是在同一行内写入。
答案 0 :(得分:1)
使用FileWriter的第二个参数,该参数定义是否要追加。只需将其设置为true
。
BufferedWriter writer = new BufferedWriter(new FileWriter(
sFileName, true));
在每行后添加\n
。
答案 1 :(得分:1)
您需要使用布尔值true
。来自docs
public FileWriter(String fileName,
boolean append)
throws IOException
在给定带有布尔值的文件名的情况下构造FileWriter对象 指示是否附加所写的数据。
<强>参数:强>
fileName
- String依赖于系统的文件名。
append
- 布尔值如果为true,则数据将被写入文件的末尾而不是开头。
答案 2 :(得分:0)
使用
new FileWriter(myFile, true)
第二个参数用于追加。
答案 3 :(得分:0)
API:
FileWriter(File file, boolean append)
在给定File对象的情况下构造FileWriter对象。
http://docs.oracle.com/javase/7/docs/api/java/io/FileWriter.html
答案 4 :(得分:0)
FileWriter在constructor中有一个可选的布尔值,声明是否应该追加它。
FileWriter writer = new FileWriter(..., true)
答案 5 :(得分:-1)
BufferedWriter bw = new BufferedWriter(new FileWriter(filename,true));