如何附加到现有文件

时间:2018-08-07 11:30:25

标签: java spring

我正在尝试将控制台输入重定向到文件。问题是,如果我选择文件名以包含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);

因此,如果没有要创建的文件,但是如果已经有文件可以追加新数据,而不覆盖或创建新文件。

1 个答案:

答案 0 :(得分:-1)

As per Java docs

public FileOutputStream(String name,
                boolean append)
                 throws FileNotFoundException
  

参数:name-与系统有关的文件名

     

追加-如果为true,   然后字节将被写入文件的末尾,而不是   开始

有一个构造函数,它允许传递布尔值,该布尔值决定是否将数据追加到文件中。

您可以使用它。