读书人

读取大文件疏失Listlt;Stringgt; lines =

发布时间: 2013-02-20 12:23:22 作者: rapoo

读取大文件出错List<String> lines = IOUtils.readLines(new FileInputStream(filePATH)
读取一个2G的文件,发生错误:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2760)
at java.util.Arrays.copyOf(Arrays.java:2734)
at java.util.ArrayList.ensureCapacity(ArrayList.java:167)
at java.util.ArrayList.add(ArrayList.java:351)
at org.apache.commons.io.IOUtils.readLines(IOUtils.java:504)
at org.apache.commons.io.IOUtils.readLines(IOUtils.java:457)
at com.sany.client.test.QzjTemp.main(QzjTemp.java:38)
读取方法是:
String path=JOptionPane.showInputDialog(null,"请输入路径:");
File filePATH = new File(path);
List<String> lines = IOUtils.readLines(new FileInputStream(filePATH));
在最后一句List<String> lines = IOUtils.readLines(new FileInputStream(filePATH)); 出错。

文件是一个***.log文件
[解决办法]
你有多少内存,用5G的缓冲...

读书人网 >Eclipse开发

热点推荐