OutputStreamWriter 将 OutputStream 包装在 Writer 接口后面。如果我想要相反,我想要一个 Writer 的 OutputStream 接口怎么办?例如,我想将一个对象序列化为 StringWriter。
问问题
231 次
2 回答
3
Guava 有这样一个类:BaseEncoding.encodingStream(Writer)将 Writer 作为参数,并将其包装在 OutputStream 中。写入流的所有字节都是 baseXX 编码的(其中 XX 可以是 16、32、64,...),并作为字符写入包装的 Writer。
于 2013-08-19T20:09:52.073 回答
1
an 的语义OutputStreamWriter
是获取文本并根据字符编码将其转换为字节。这是一种非常常见的模式(将低级字节解释为高级文本),因此将此类作为标准 Java API 的一部分并不奇怪。
所以你想要一个WriterOutputStream
. 但是你忘了告诉我们你期望这样一个类的语义。我可以想象OutputStream
包装 a 的几个用例Writer
:
- 将字节转换为 Base64 编码的字符串
- 将字节转换为十六进制值表
- 假设字节流是加密文本消息:解密字节并写入原始未加密文本。
- 假设字节流是某种测量设备的值:写一个包含测量值的人类可读表。
但是没有明显的默认用例可以广泛使用。所以WriterOutputStream
标准库中没有类。但是没有人阻止您编写自己的此类。
于 2013-08-19T21:02:37.133 回答