gpt4 book ai didi

java - 如何在java中将附加选项和StandardCharsets/Encoding设置为BufferedWriter?

转载 作者:行者123 更新时间:2023-12-02 10:22:51 35 4
gpt4 key购买 nike

我是 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/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com