如何将字符串值转换为InputStreamReader?


当前回答

它必须是一个特定的InputStreamReader吗?使用StringReader怎么样?

否则,您可以使用StringBufferInputStream,但由于字符转换问题,它已被弃用(这就是为什么您应该更喜欢StringReader)。

其他回答

它必须是一个特定的InputStreamReader吗?使用StringReader怎么样?

否则,您可以使用StringBufferInputStream,但由于字符转换问题,它已被弃用(这就是为什么您应该更喜欢StringReader)。

ByteArrayInputStream也能做到这一点:

InputStream is = new ByteArrayInputStream( myString.getBytes( charset ) );

然后转换为读者:

InputStreamReader reader = new InputStreamReader(is);

你可以试试仙人掌:

InputStream stream = new InputStreamOf(str);

然后,如果你需要一个读者:

Reader reader = new ReaderOf(stream);

和@Dan同样的问题——为什么不是StringReader ?

如果它必须是InputStreamReader,那么:

String charset = ...; // your charset
byte[] bytes = string.getBytes(charset);
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
InputStreamReader isr = new InputStreamReader(bais);

我还找到了apache commons IOUtils类,所以:

InputStreamReader isr = new InputStreamReader(IOUtils.toInputStream(myString));