我是 java 编程新手,正在寻找使用 java 编写和附加文件内容的选项。
以下 C# 选项的类似选项。
File.WriteAllText(string path, string contents, Encoding encoding);
File.AppendAllText(string path, string contents, Encoding encoding);
我虽然使用BufferedWriter,它可以选择为FileWriter(字符串路径, boolean 附加)传递true/false,但我没有提供编码的选项。
try (FileWriter fw = new FileWriter(path, false);
BufferedWriter bw = new BufferedWriter(fw)) {
bw.write("appending text into file");
}
如果我使用 Files.newBufferedWriter 初始化 BufferedWriter,我可以提供 StandardCharsets,但它没有选项在现有文件的情况下追加。
try (BufferedWriter bw = Files.newBufferedWriter(Paths.get(path), StandardCharsets.UTF_8)) {
bw.write("test");
bw.append("append test");
}
是否可以同时定义这两个选项(附加选项和 StandardCharsets)?
最佳答案
是的。如果你查看 Files 类的实现,有一个方法如下:
public static BufferedWriter newBufferedWriter(Path path, Charset cs, OpenOption... options)
这样你就可以调用像
这样的方法BufferedWriter bw = Files.newBufferedWriter(Paths.get(path), StandardCharsets.UTF_8,
StandardOpenOption.CREATE, StandardOpenOption.APPEND)
如果您使用像 Intellij 这样的 IDE,它会建议您可以调用哪些公共(public)方法。
关于java - 如何在java中将附加选项和StandardCharsets/Encoding设置为BufferedWriter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54199820/