我需要解析可能非常大的文件,可能有上百兆字节和数百万行。我一直在尝试使用FlatPack来做到这一点。我认为实现这一点的方法应该是使用缓冲解析器和新的流方法。但是,尽管对于正确的记录数,dataset.next()返回true,但dataset.getRecord()返回的Optional从不包含值。
我看过这个example/test,但它只计算记录的数量,并不实际对内容做任何操作。示例/测试
发布于 2015-12-15 02:48:51
您可以使用类BuffReaderParseFactory而不是DefaultParserFactory。
只有当你调用"next()“时,它才会从输入文件中读取一条记录。
发布于 2016-04-07 14:57:39
对DefaultParserFactory和BuffReaderParseFactory的解释并不完全有帮助。这两个库都返回PZParser (来自newDelimitedParser),但其中只有一个库返回来自记录的实际值。根据我看到的例子,我认为BuffReaderParseFactory只是为了检查性能(因此应该更快),而DefaultParserFactory则包含了所有的记录。
https://stackoverflow.com/questions/29337845
复制相似问题