java list转InputStream
时间: 2023-10-25 21:10:18 浏览: 343
Java中的List可以通过Java 8的Stream API转换为InputStream,示例代码如下:
```java
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
public class ListToInputStreamExample {
public static void main(String[] args) throws IOException {
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
// 将List转换为字符串并转换为字节数组
String str = String.join("\n", list);
byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
// 将字节数组转换为InputStream
InputStream inputStream = new ByteArrayInputStream(bytes);
// 读取InputStream中的内容并输出
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) != -1) {
System.out.print(new String(buffer, 0, length, StandardCharsets.UTF_8));
}
// 关闭InputStream
inputStream.close();
}
}
```
以上代码将List中的元素转换为字符串,并将其转换为字节数组,然后通过ByteArrayInputStream将字节数组转换为InputStream,最后读取InputStream中的内容并输出。
阅读全文