【发布时间】:2010-10-20 08:45:25
【问题描述】:
场景如下。我有一个纯文本文件,其中包含 2,000,000 行的 ID。此 ID 列表需要转换为简单的 XML 文件。只要输入文件中只有几千个条目,以下代码就可以正常工作。
def xmlBuilder = new StreamingMarkupBuilder()
def f = new File(inputFile)
def input = f.readLines()
def xmlDoc = {
Documents {
input.each {
Document(myAttribute: it)
}
}
}
def xml = xmlBuilder.bind(xmlDoc)
f.write(xml)
如果处理了 2,000,000 个条目,我将收到 Java 堆(设置为 1024M)的 OutOfMemoryException。有没有办法改进上述代码,使其能够处理大量数据?
干杯, 罗伯特
【问题讨论】:
标签: xml groovy memory-management out-of-memory