Java 如何在不删除私有现有数据的情况下写入文件

Java 如何在不删除私有现有数据的情况下写入文件,java,file-io,text-files,Java,File Io,Text Files,我正在尝试将数据写入文本文件。我正在使用以下代码: try (Writer writer = new BufferedWriter(new OutputStreamWriter( new FileOutputStream("filename.txt"), "utf-8"))) { writer.write("something"); } 但当程序运行时,该文件将覆盖文本文件中已存在的数据。如何在不覆盖的情况下将新数据行写入同一文本文件?有什么简单易行的方法写吗?我想你可以用

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

try (Writer writer = new BufferedWriter(new OutputStreamWriter(
          new FileOutputStream("filename.txt"), "utf-8"))) {
writer.write("something");
}
但当程序运行时,该文件将覆盖文本文件中已存在的数据。如何在不覆盖的情况下将新数据行写入同一文本文件?有什么简单易行的方法写吗?

我想你可以用

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

我想你可以用

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

打开选项是varargs列表,默认为新建文件

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

打开选项是varargs列表,默认为新建文件


顺便说一句,FileWriter使用平台编码,因此您有权不使用该类。它是不可移植的。

您提供的页面不适用于我,因为我在这里@ekuusela发布了我的问题。您提供的页面不适用于我,因为我在这里@ekuusela发布了我的问题
try (Writer writer = Files.newBufferedWriter(
          Paths.get("filename.txt"), StandardCharsets.UTF_8,
          StandardOpenOption.WRITE,
          StandardOpenOption.APPEND)) {
    writer.write("something");
}