有什么方法可以InputStream
包装UTF-8 String
列表吗?我想做类似的事情:
InputStream in = new XyzInputStream( List<String> lines )
最佳答案
您可以从 ByteArrayOutputStream
中读取,您可以使用 ByteArrayInputStream
创建源 byte[]
数组。
所以创建数组如下:
List<String> source = new ArrayList<String>();
source.add("one");
source.add("two");
source.add("three");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
for (String line : source) {
baos.write(line.getBytes());
}
byte[] bytes = baos.toByteArray();
读取它非常简单:
InputStream in = new ByteArrayInputStream(bytes);
或者,根据您要执行的操作,StringReader
可能会更好。
关于Java:访问字符串列表作为 InputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9837754/