我正在尝试在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);
}
答案 0 :(得分:0)
使用没有InputStreamReader的BufferedReader。您可以直接在BufferedReader
中传递文件路径参数 BufferedReader br = new BufferedReader(<file path>);