【问题标题】:How to append to existing file [duplicate]如何附加到现有文件[重复]
【发布时间】: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);

所以如果没有文件可以创建它,但如果已经有一个文件可以追加新数据,而不是覆盖或创建新文件。

【问题讨论】:

标签: java spring


【解决方案1】:

As per Java docs

public FileOutputStream(String name,
                boolean append)
                 throws FileNotFoundException

参数:name - 系统相关文件名

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

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

你可以使用它。

【讨论】:

    猜你喜欢
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 2014-06-12
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    相关资源
    最近更新 更多