【发布时间】:2018-08-07 19:34:41
【问题描述】:
我正在尝试将控制台输入重定向到文件。问题是,每次我创建一个文件时,如果我选择包含 unix 时间戳的文件名,它就会覆盖它或创建新文件。我在这里看到了类似的问题,但我不确定要使用哪种方法或类。
PrintStream out;
PrintStream oldout = new PrintStream(System.out);
try {
out = new PrintStream(
new FileOutputStream(
workFolder + File.separator + "output" + Instant.now().getEpochSecond() + ".txt"));
System.setOut(out);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.setOut(oldout);
所以如果没有文件可以创建它,但如果已经有一个文件可以追加新数据,而不是覆盖或创建新文件。
【问题讨论】:
-
baeldung.com/java-append-to-file 有一个非常最新的指南