gpt4 book ai didi

groovy - 在不超过堆大小的情况下,如何在Groovy中解析大型文件?

转载 作者:行者123 更新时间:2023-12-04 03:12:48 26 4
gpt4 key购买 nike

解析大文件时,出现以下错误Caught: java.lang.OutOfMemoryError: Java heap space
在不超过堆大小的情况下,如何在Groovy中解析大型文件?

大型文件失败的示例代码...

import java.io.File

def inputFile = new File("c:/dev/test.txt")
inputFile.getText().eachLine{ it, i ->
... do something with each line
}

最佳答案

确保您以不将整个文件加载到内存中的方式来遍历文件...

  • 在这种情况下,请专门将 inputFile.getText()。eachLine 转换为 inputFile.eachLine
  • 不要使用 .readLines(),因为它将尝试将整个文件加载到内存中。 eachLine {..}应该使用代替
  • 您还可以使用JVM标志将堆大小扩展,例如,通过使用groovy -Xmx1024M myscript.groovy扩展到1GB,另请参见answer here

  • 有关更多信息和进一步的讨论,请参阅groovy邮件列表上的 page

    在没有堆空间错误的情况下工作的代码...
    def inputFile = new File("c:/dev/test.txt")
    inputFile.eachLine{ it, i ->
    ... do something with each line
    }

    关于groovy - 在不超过堆大小的情况下,如何在Groovy中解析大型文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10190606/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com