我不习惯在 Java 中使用流 - 如何从 String
创建 InputStream
?
最佳答案
给你:
InputStream is = new ByteArrayInputStream( myString.getBytes() );
更新对于多字节支持使用(感谢Aaron Waibel的评论):
InputStream is = new ByteArrayInputStream(Charset.forName("UTF-16").encode(myString).array());
请参阅 ByteArrayInputStream手动的。
在 String#getBytes(charset) 中使用字符集参数是安全的上面的方法。
JDK 7+之后就可以使用了
java.nio.charset.StandardCharsets.UTF_16
而不是硬编码的编码字符串:
InputStream is = new ByteArrayInputStream(StandardCharsets.UTF_16.encode(myString).array());
关于java - 如何从字符串创建 InputStream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5720524/