【问题标题】:How to ensure overwriting doesn't happen while writing to text file from console in java? [duplicate]java - 如何确保在从Java控制台写入文本文件时不会发生覆盖? [复制]
【发布时间】:2016-03-17 02:53:45
【问题描述】:

我正在尝试将控制台输出写入文本文件 (Data.txt),所以这是我的代码:

PrintStream out = new PrintStream(new File("/home/cse/Desktop/Data.txt"));  
System.setOut(out);
out.print("");

当我运行该程序后再次运行该程序时,输出会替换 Data.txt 文件中存在的旧数据。但我希望它继续添加之前停止的数据。我该怎么做?

【问题讨论】:

标签: java console overwrite


【解决方案1】:

你需要传递一个用the constructor that accepts an append flag创建的FileOutputStream

PrintStream out = new PrintStream(new FileOutputStream("/home/cse/Desktop/Data.txt", true)); 

true 表示新内容将附加到现有文件中。

【讨论】:

    【解决方案2】:

    使用 out.append() 应该可以为您完成这项工作。

    PrintStream out = new PrintStream(new File("/home/cse/Desktop/Data.txt"));  
    System.setOut(out);
    out.append("");
    

    【讨论】:

    • 它仍然会覆盖数据。
    • 不,这不起作用
    猜你喜欢
    • 1970-01-01
    • 2023-01-24
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    相关资源
    最近更新 更多