给定一个字符串:
String exampleString = "example";
我怎么把它转换成一个输入流?
给定一个字符串:
String exampleString = "example";
我怎么把它转换成一个输入流?
当前回答
你可以试试仙人掌。
final InputStream input = new InputStreamOf("example");
对象是用new而不是静态方法创建的,这是有原因的。
其他回答
在Java中有两种方法可以将String转换为InputStream,
使用ByteArrayInputStream
例子:-
String str = "String contents";
InputStream is = new ByteArrayInputStream(str.getBytes(StandardCharsets.UTF_8));
使用Apache Commons IO
例子:-
String str = "String contents"
InputStream is = IOUtils.toInputStream(str, StandardCharsets.UTF_8);
你可以试试仙人掌。
final InputStream input = new InputStreamOf("example");
对象是用new而不是静态方法创建的,这是有原因的。
是这样的:
InputStream stream = new ByteArrayInputStream(exampleString.getBytes(StandardCharsets.UTF_8));
注意,这假设您想要一个InputStream,它是一个字节流,表示以UTF-8编码的原始字符串。
对于Java小于7的版本,替换StandardCharsets。UTF_8和“UTF-8”。
您可以使用StringReader,并使用另一篇stackoverflow文章中的解决方案将阅读器转换为输入流。
我发现使用Apache Commons IO使我的生活变得更简单。
String source = "This is the source of my input stream";
InputStream in = org.apache.commons.io.IOUtils.toInputStream(source, "UTF-8");
您可能会发现,该库还提供了许多其他常用任务的快捷方式,您可以在项目中使用这些快捷方式。