Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

java InputStream 对象转为 List<String> 字符串集合

Java 笔记 Java 笔记


java 中,如何将输入流对象 InputStream 以换行符为分隔符,将字符串内容按行转为 ArrayList 实例化的 List<String> 对象?其实有非常多的方法,通过 jdk 原生写法及借助第三方工具类等。

apache common io

直接使用 apache common io 包,具体如下:

List<String> lines = IOUtils.readLines(inputStream, "UTF-8");

google guava

也可以利用 guava 工具包,示例如下:

CharStreams.readLines(new InputStreamReader(inputStream, Charsets.UTF_8));

jdk

直接基于 jdk,自己封装一个工具类,主要转换逻辑如下:

List<String> list = new ArrayList<>();
BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
try {
    while (r.readLine() != null) {
        list.add(r.readLine());
    }
} catch (IOException e) {
    // TODO Auto-generated catch block
}