如何使 FileUtils 追加而不是覆盖文本文件

How to make FileUtils appends instead of overwriting text file

我正在使用以下内容将 StringBuilder 写入现有文本文件。

FileUtils.writeStringToFile(file, sb.toString(), StandardCharsets.UTF_8);

问题是它覆盖了我只想追加 sb.toString()file 现有内容的文件。如何解决此问题?

只需使用 append 布尔值调用方法:

writeStringToFile(File file, String data, Charset encoding, boolean append)

FileUtils.writeStringToFile(file, sb.toString(), StandardCharsets.UTF_8, true);

假设您指的是 org.apache.commons.io.FileUtils,有一个带有 boolean 追加参数的重载变体:

FileUtils.writeStringToFile(file, sb.toString(), StandardCharsets.UTF_8, true);
// Here -----------------------------------------------------------------^

Apache IO 2.1版本已经实现。要将字符串附加到文件,只需将 true 作为函数中的附加参数传递:

示例:

 FileUtils.writeStringToFile(file, stringBuilder.toString(), true);