java - 在Java框架中,为什么接受字节数组的BufferedWriter类中没有.write重载?

标签 java bufferedwriter

我有兴趣使用 BufferedWriter.write() 将字节数组写入磁盘。但该方法需要一个字符数组。我必须将 byte[] 转换为 char[]。容易吧?我在 Clojure 中的第一次尝试未能将字节转换为字符。因此我开始想知道为什么 BufferedWriter.write() 方法对想要 char[] 如此挑剔。
注意:OutputStream有一个write方法采用 byte[]。所以我的问题是关于在 BufferedWrite.write() 中想要 char[] 的框架设计选择。

最佳答案

BufferedWriter是一种Writer ,而 Writer 用于写入字符。要输出原始字节,您需要使用某种类型的 OutputStream — 在本例中,一个 BufferedOutputStream .

(OutputStreamWriter 之间的桥梁是 OutputStreamWriter 类。它是一个 Writer,它接受字符,使用以下方法将它们编码为字节: UTF-8 等方案,并将结果字节提供给 OutputStream。)

关于java - 在Java框架中,为什么接受字节数组的BufferedWriter类中没有.write重载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14150411/

相关文章:

java - 每个 DAO 方法的 EntityManager

java - java算术计算结果的数据类型

java - 通过使用公共(public)变量来提高性能?

java - 您可以使用 BufferedWriter 选择要写入的行吗?

java - 如何保存到当前文本文件/更新到当前文本文件?

java - 将 Jtable 保存到我使用 boolean 列创建的文件中

java - Netbeans 和 DOS 风格的进度条

java - 具有一个核心库和多个本地化的多个 Android 项目

java - Thread.sleep() 和 FileWriter()

java - 在 foreach 循环中使用 BufferedWriter 生成新行时出现问题