gpt4 book ai didi

java - 使用 StandardCharset 的 PrintWriter

转载 作者:行者123 更新时间:2023-11-29 10:11:15 25 4
gpt4 key购买 nike

如果我要使用以下代码创建一个 InputStreamReader

new InputStreamReader(anInputStream, "UTF-8")

我必须捕获 UnsupportedEncodingException,这是合理的。我可以通过使用来避免这种情况

new InputStreamReader(anInputStream, StandardCharsets.UTF_8)

它不会抛出 UnsupportedEncodingException 因为字符集已知是有效的。到目前为止一切都很好。

现在输入它的对应物,PrintWriter:

new PrintWriter("filename", StandardCharsets.UTF_8)

无法编译,因为 PrintWriter 构造函数没有采用 Charset 参数。我可以这样做:

new PrintWriter("filename", StandardCharsets.UTF_8.name())

但是我无法避免捕获 UnsupportedEncodingException,即使字符集名称刚刚来自有效的字符集。

StandardCharsets 实用程序类是在 Java 生命周期的后期添加的,当 Sun 添加它时,他们还向 InputStreamReader 构造函数添加了重载。为什么他们向 InputStreamReader 添加重载而不是 PrintWriter

是否有另一个我可以使用的类,它采用字符集而不是字符集名称?

最佳答案

InputStreamReader 的对应物不是 PrintWriter

改用OutputStreamWriter

如果你想使用PrintWriter,可以使用PrintWriter(new OutputStreamWriter(anOutputStream, StandardCharsets.UTF_8));

关于java - 使用 StandardCharset 的 PrintWriter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33499350/

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