我想读一个大文件(它不能作为对象放在堆中)。我必须逐行阅读,处理每一行,然后保存(追加)到一个新文件中。
我完成了第一步(加载和处理)并在控制台上打印输出。我不创建数据对象。 我想我必须动手做,但我不知道可能有用的库。
我还想添加XML或CSV序列化 你知道一些可以解决这个问题的库吗?
for (String line; (line = bufferedReader.readLine()) != null; ) {
String processedNewLine = processLine(Line);
//and I would like to serialize to XML (append)
XMLSerialiazer.serialize(processedNewLine, xmlTemp.getPath());
}
答案 0 :(得分:0)
如果您使用.csv文件,则只需逐行阅读即可。没有必要使用特殊的库,你也可以使用非常大的文件而没有问题。
如果您使用.xml文件,则需要SAX parser。基本上,SAX解析器是一个解析器,它对事件(如开放标记,关闭标记)进行操作,而不是像在DOM解析器中那样在内存中构建整个结构。
答案 1 :(得分:0)
答案 2 :(得分:0)
您应该查看Kryo,这是最快的序列化库之一。