我有兴趣使用 BufferedWriter.write() 将字节数组写入磁盘。但该方法需要一个字符数组。我必须将 byte[] 转换为 char[]。容易吧?我在 Clojure 中的第一次尝试未能将字节转换为字符。因此我开始想知道为什么 BufferedWriter.write() 方法对想要 char[] 如此挑剔。
注意:OutputStream有一个write方法采用 byte[]。所以我的问题是关于在 BufferedWrite.write() 中想要 char[] 的框架设计选择。
最佳答案
BufferedWriter
是一种Writer
,而 Writer
用于写入字符。要输出原始字节,您需要使用某种类型的 OutputStream
— 在本例中,一个 BufferedOutputStream
.
(OutputStream
和 Writer
之间的桥梁是 OutputStreamWriter
类。它是一个 Writer
,它接受字符,使用以下方法将它们编码为字节: UTF-8 等方案,并将结果字节提供给 OutputStream
。)
关于java - 在Java框架中,为什么接受字节数组的BufferedWriter类中没有.write重载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14150411/