如何将字符串值转换为InputStreamReader?
当前回答
和@Dan同样的问题——为什么不是StringReader ?
如果它必须是InputStreamReader,那么:
String charset = ...; // your charset
byte[] bytes = string.getBytes(charset);
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
InputStreamReader isr = new InputStreamReader(bais);
其他回答
你可以试试仙人掌:
InputStream stream = new InputStreamOf(str);
然后,如果你需要一个读者:
Reader reader = new ReaderOf(stream);
它必须是一个特定的InputStreamReader吗?使用StringReader怎么样?
否则,您可以使用StringBufferInputStream,但由于字符转换问题,它已被弃用(这就是为什么您应该更喜欢StringReader)。
ByteArrayInputStream也能做到这一点:
InputStream is = new ByteArrayInputStream( myString.getBytes( charset ) );
然后转换为读者:
InputStreamReader reader = new InputStreamReader(is);
我还找到了apache commons IOUtils类,所以:
InputStreamReader isr = new InputStreamReader(IOUtils.toInputStream(myString));
和@Dan同样的问题——为什么不是StringReader ?
如果它必须是InputStreamReader,那么:
String charset = ...; // your charset
byte[] bytes = string.getBytes(charset);
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
InputStreamReader isr = new InputStreamReader(bais);
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- Printf与std::字符串?
- 在Jar文件中运行类
- 带参数的可运行?
- 不区分大小写的“in”
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- 如何在PHP中截断字符串最接近于一定数量的字符?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作