给出一个字符串:
String exampleString = "example";
如何将其转换为InputStream
?
答案 0 :(得分:1336)
像这样:
InputStream stream = new ByteArrayInputStream(exampleString.getBytes(StandardCharsets.UTF_8));
请注意,这假设您需要一个InputStream,它是一个字节流,表示编码为 UTF-8 的原始字符串。
对于少于7的Java版本,请将StandardCharsets.UTF_8
替换为"UTF-8"
。
答案 1 :(得分:251)
我发现使用Apache Commons IO让我的生活变得更轻松。
String source = "This is the source of my input stream";
InputStream in = org.apache.commons.io.IOUtils.toInputStream(source, "UTF-8");
您可能会发现该库还提供了许多其他快捷方式,可用于您可以在项目中使用的常用任务。
答案 2 :(得分:36)
您可以使用StringReader并使用this other stackoverflow post中的解决方案将阅读器转换为输入流。
答案 3 :(得分:4)
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);
答案 4 :(得分:-1)