有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用apache公共io读取大文件

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

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

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


共 (2) 个答案

  1. # 1 楼答案

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

    -d64 -Xmx6G
     IOUtils.toString((InputStream) new FileInputStream("C://exocerebro//userrecord.sql"), "UTF-8");
    
  2. # 2 楼答案

    读一行接一行

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