java - 如何从字符串创建 InputStream?

标签 java string stream

我不习惯在 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/

相关文章:

c - 如何防止 "str\0ing"在C中的复制函数中转义?

ruby - 什么时候不应该在 Ruby 中使用 to_sym?

android - 当应用程序有加载时间时如何最大化用户体验

java - AWT-EventQueue-0“java.lang.NoClassDefFoundError : org/apache/xmlbeans/XmlObject

java - 单词末尾加号的正则表达式

java - 在 Struts2 中使用 Map 进行双重选择

c - 对于分配内存的函数,您遵循什么命名约定?

c# - StreamReader.EndOfStream 缺少最后一行?

java - Java中网络调用列表和处理任务的优化编排

java - 如何将多对多关联映射到映射到两个不同表的类?