我正在尝试编写一个方法,如果一个文件尚未存在,则生成"log.txt文件"然后写入该文件.我遇到的问题是每次调用该方法时,它都会覆盖现有的日志.如何更改方法以便不是覆盖数据而是更新文件?
我的写文件方法:
File log = new File("log.txt")
try{
if(log.exists()==false){
System.out.println("We had to make a new file.");
log.createNewFile();
}
PrintWriter out = new PrintWriter(log);
out.append("******* " + timeStamp.toString() +"******* " + "\n");
out.close();
}catch(IOException e){
System.out.println("COULD NOT LOG!!");
}
Run Code Online (Sandbox Code Playgroud)
Qia*_*Jin 37
只需PrintWriter out = new PrintWriter(log);改为
PrintWriter out = new PrintWriter(new FileWriter(log, true));
Run Code Online (Sandbox Code Playgroud)
thr*_*rau 10
请改用FileWriter.
FileWriter(File file, boolean append)
Run Code Online (Sandbox Code Playgroud)
构造函数中的第二个参数告诉FileWriter将任何给定的输入附加到文件而不是覆盖它.
这是您的示例的一些代码:
File log = new File("log.txt")
try{
if(!log.exists()){
System.out.println("We had to make a new file.");
log.createNewFile();
}
FileWriter fileWriter = new FileWriter(log, true);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
bufferedWriter.write("******* " + timeStamp.toString() +"******* " + "\n");
bufferedWriter.close();
System.out.println("Done");
} catch(IOException e) {
System.out.println("COULD NOT LOG!!");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93806 次 |
| 最近记录: |