【发布时间】:2018-10-17 14:23:09
【问题描述】:
我正在创建一个 java 应用程序,其中一些文本将存储在一个文本文件中。但是 store 函数将在一个循环中运行,每个循环都会从其他类中获取数据并存储在文本文件中。我希望我的文本文件应该像创建日志一样存储每个周期的数据。这是一段代码:
public void store(){
File file = new File("PaperRecord.txt");
try{
PrintWriter fout = new PrintWriter(file);
fout.println("Paper Name: " + super.getpSame());
fout.println("Paper Size: " + super.getpSize());
fout.println("Paper Year: " + super.getpYear());
fout.println("Paper Author: " + super.getpAuthor());
fout.println("Paper Description: " + getpDesc());
fout.println("Paper Signature: " + getpSign());
fout.println("Email: " + getPEmail());
fout.println("");
}
catch(FileNotFoundException e){
//do nothing
}
}
使用循环从 main 调用 store 函数:
while(!q.isEmpty()){
Papers temp = q.remove();
temp.print();
temp.store();
}
此代码当前的问题是该代码每次都创建新文件 paperrecord 或覆盖现有文件。我希望同一文件向下增加和更新(添加更多文本)
【问题讨论】:
-
fout = new PrintWriter( new FileOutputStream( file, true) );(未测试。) -
P.S.捕获异常然后什么都不做几乎总是一个坏主意。请至少致电
e.printStackTrace();。printStackTrace被认为是次优的,但总比没有好。 -
如需尽快获得更好的帮助,请发帖minimal reproducible example 或Short, Self Contained, Correct Example。
标签: java file append printwriter