为什么StringBufferInputStream doc建议使用StringReader进行字符串到流的转换?

时间:2015-05-26 20:41:40

标签: java string type-conversion inputstream

answered repeatedly一样,您可以轻松地将String转换为InputStream

在浏览Java 8文档时,我遇到了长期弃用的StringBufferInputStream类,该类声明了

  

从JDK 1.1开始,从字符串创建流的首选方法是通过StringReader类。

这是指什么方式?有几种方法需要非默认库中的类,例如Apache Commons IO中容易出错的ReaderInputStream,但我正在寻找文档中提到的首选方法。其他问题中引用的解决方案足以满足我的使用案例,但我仍然想知道文档引用的内容。

更新

显然这是一个尚未解决的16 year old bug。链接中建议的解决方案是使用已弃用的类。我无法想象这就是文档所说的内容。

1 个答案:

答案 0 :(得分:2)

我不知道javadoc部分的答案,但您指出的第一个答案是合理的:只需使用String.getBytes(encoding)获取字节数组,然后使用ByteArrayInputStream。< / p>

但通常更重要的问题是:为什么你需要这样的转换呢?在一个设计良好的系统中,你永远不需要朝着这个方向前进:它违背了JDK中你处理charString s以及{{1}以外的事物的正常流程。 s和byte s。因此,在这方面的转换非常少见,JDK似乎没有必要得到明确的支持。