【问题标题】:How to write to a file without deleting privious existing data [duplicate]如何在不删除现有数据的情况下写入文件[重复]
【发布时间】:2015-07-07 13:39:50
【问题描述】:

我正在尝试将数据写入文本文件。我正在使用此代码:

try (Writer writer = new BufferedWriter(new OutputStreamWriter(
          new FileOutputStream("filename.txt"), "utf-8"))) {
writer.write("something");
}

但是当程序运行时,文件正在覆盖文本文件中已经存在的数据。如何将新数据行写入同一个文本文件而不覆盖它?有没有简单易行的写法?

【问题讨论】:

  • 您提供的页面不适用于我,因为我在这里发布了我的问题@ekuusela

标签: java file-io text-files


【解决方案1】:

我想你可以使用FileWriter(File file, Boolean append)

在给定 File 对象的情况下构造一个 FileWriter 对象。如果第二个 参数为真,则字节将被写入文件末尾 而不是开始。

【讨论】:

    【解决方案2】:
    try (Writer writer = Files.newBufferedWriter(
              Paths.get("filename.txt"), StandardCharsets.UTF_8,
              StandardOpenOption.WRITE,
              StandardOpenOption.APPEND)) {
        writer.write("something");
    }
    

    打开选项是可变参数列表,默认创建新文件。

    BTW FileWriter 使用平台编码,因此您有权不使用该类。它不是便携式的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-10
      • 2013-12-11
      相关资源
      最近更新 更多