【发布时间】:2010-10-21 09:31:56
【问题描述】:
给定一个字符串:
String exampleString = "example";
如何将其转换为InputStream?
【问题讨论】:
-
InputStreams 看字节,Readers 看字符。
标签: java string type-conversion inputstream
给定一个字符串:
String exampleString = "example";
如何将其转换为InputStream?
【问题讨论】:
标签: java string type-conversion inputstream
像这样:
InputStream stream = new ByteArrayInputStream(exampleString.getBytes(StandardCharsets.UTF_8));
请注意,这假设您需要一个 InputStream,它是一个字节流,表示编码为 UTF-8 的原始字符串。
对于低于 7 的 Java 版本,将 StandardCharsets.UTF_8 替换为 "UTF-8"。
【讨论】:
我发现使用Apache Commons IO 让我的生活更轻松。
String source = "This is the source of my input stream";
InputStream in = org.apache.commons.io.IOUtils.toInputStream(source, "UTF-8");
您可能会发现该库还提供了许多其他常用任务的快捷方式,您可以在项目中使用这些快捷方式。
【讨论】:
StandardCharsets.UTF_8 定义而不是纯文本。
您可以使用StringReader 并使用this other stackoverflow post 中的解决方案将阅读器转换为输入流。
【讨论】:
在Java中有两种方法可以将String转换为InputStream,
示例:-
String str = "String contents";
InputStream is = new ByteArrayInputStream(str.getBytes(StandardCharsets.UTF_8));
例子:-
String str = "String contents"
InputStream is = IOUtils.toInputStream(str, StandardCharsets.UTF_8);
【讨论】: