使用apache common io读取大文件

时间:2013-09-10 12:46:57

标签: java string parsing io

您好我正在使用以下代码使用Apache commons IO库中的FileUtils.readLines功能获取字符串列表中的所有行。这是我的代码,

List<String> lines=FileUtils.readLines(new File(fileName));

但每当我发送一个文件说45MB,有100万行时,它会给我一个内存不足的错误。应该是什么解决方案。我需要处理每一行。

2 个答案:

答案 0 :(得分:10)

在另一行之后阅读一行

LineIterator it = FileUtils.lineIterator(file, "UTF-8");
 try {
   while (it.hasNext()) {
    String line = it.nextLine();
     // do something with line
   }
 } finally {
  it.close();
 } 

答案 1 :(得分:0)

这是因为您运行的是32位而不是64位的环境,并且还没有使用VM参数,如下所示:

var params = document.body.getElementsByTagName('script');
query = params[0].classList;

var locations = [
    ['hwlo',   query[0], query[1]],
    ['hwlo',   query[2], query[3]],
    ['hwlo',   query[4], query[5]],
  ];

-d64 -Xmx6G