我正在尝试将控制台输入重定向到文件。问题是,如果我选择文件名以包含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);
因此,如果没有要创建的文件,但是如果已经有文件可以追加新数据,而不覆盖或创建新文件。
答案 0 :(得分:-1)
public FileOutputStream(String name,
boolean append)
throws FileNotFoundException
参数:name-与系统有关的文件名
追加-如果为true, 然后字节将被写入文件的末尾,而不是 开始
有一个构造函数,它允许传递布尔值,该布尔值决定是否将数据追加到文件中。
您可以使用它。