我想从一个巨大的文本文件(超过600 000 MB)打印每一行.
但是当我尝试下面的代码时,我会在到达第1 000 000行之前得到"... OutOfMemoryError:Java堆空间".
有没有更好的方法来处理输入而不是FileReader和LineNumberReader?
FileReader fReader = new FileReader(new File("C:/huge_file.txt")); LineNumberReader lnReader = new LineNumberReader(fReader); String line = ""; while ((line = lnReader.readLine()) != null) { System.out.println(lnReader.getLineNumber() + ": " + line); } fReader.close(); lnReader.close();
提前致谢!
谢谢大家的回答!
我终于找到了内存泄漏,一个未使用的java类实例,它为每次迭代重复了一次.换句话说,它与文件加载部分无关.