OutputStreamWriter将一个OutputStream包装在Writer接口后面。如果我想要逆,我想要一个OutputStream接口到Writer怎么办?例如,我想将一个对象序列化为StringWriter。
答案 0 :(得分:3)
Guava有这样一个类:BaseEncoding.encodingStream(Writer)将Writer作为参数,并将其包装在OutputStream中。写入流的所有字节都是baseXX编码的(其中XX可以是16,32,64,...),并作为字符写入包装的Writer。
答案 1 :(得分:1)
OutputStreamWriter
的语义是采用文本并根据字符编码将其转换为字节。这是一种非常常见的模式(低级字节被解释为高级文本),因此将此类作为标准Java API的一部分发现并不奇怪。
所以你想要一个WriterOutputStream
。但是你忘了告诉我们你对这类课程所期望的语义。我可以想象OutputStream
包裹Writer
的几个用例:
但是没有明显的默认用例对广泛的用法有意义。因此标准库中没有WriterOutputStream
类。但没有人会阻止你写下自己的这类课程。