gpt4 book ai didi

java - 为什么 StringBufferInputStream 文档推荐使用 StringReader 进行 String 到 Stream 的转换?

转载 作者:搜寻专家 更新时间:2023-11-01 03:21:05 25 4
gpt4 key购买 nike

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

在浏览 Java 8 文档时,我遇到了长期弃用的 StringBufferInputStream类,它指出

As of JDK 1.1, the preferred way to create a stream from a string is via the StringReader class.

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

更新

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

最佳答案

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

但通常更重要的问题是:到底为什么需要这样的转换?在一个设计良好的系统中,您永远不需要朝这个方向前进:在 JDK 中处理 charString 的事物的正常流程是相反的,和外部 bytes 和 Streams。所以在这个方向上的转换是非常罕见的,JDK 似乎没有必要有明确的支持。

关于java - 为什么 StringBufferInputStream 文档推荐使用 StringReader 进行 String 到 Stream 的转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30468494/

25 4 0