无法读取java中的所有文本文件行

时间:2015-09-14 13:46:53

标签: java io text-files

我正在尝试在Java Web应用程序中读取50000+行文本文件。

我创建了一个Java类来读取文本文件。阅读时会将每行添加到ArrayList

ArrayList传递给servlet后,我无法从ArrayList检索所有行。另外,我无法获得for循环中的所有行。它每次都会打印不同数量的行。

public class TextReader {

    public ArrayList<String> readText(InputStream file) {
        ArrayList<String> lst = new ArrayList();
        try {
            InputStreamReader ipsr = new InputStreamReader(file);
            BufferedReader br = new BufferedReader(ipsr, 1024);
            String line;
            while ((line = br.readLine()) != null) {
                lst.add(line);
            }
            br.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return lst;
    }
}

在servel我打电话

TextReader tr = new TextReader();
for (String text : tr.readText(new FileInputStream(file))) {
    System.out.println(text);
}

1 个答案:

答案 0 :(得分:0)

使用没有InputStreamReader的BufferedReader。您可以直接在BufferedReader

中传递文件路径参数
    BufferedReader br = new BufferedReader(<file path>);
相关问题