1

我需要解析可能非常大的文件,可能有 100 兆字节和数百万行。我一直在尝试使用FlatPack来做到这一点。我认为这样做的方法是使用缓冲解析器和新的流方法。但是,尽管 dataset.next() 为正确的记录数返回 true,但 dataset.getRecord() 返回的 Optional 从不包含值。

我看过这个例子/测试 ,但它只计算记录的数量,实际上并没有对内容做任何事情。示例/测试

4

2 回答 2

0

您可以使用类 BuffReaderParseFactory 而不是 DefaultParserFactory。

只有当您调用“next()”时,它才会从输入文件中读取一条记录。

于 2015-12-14T18:48:50.907 回答
0

DefaultParserFactory 和 BuffReaderParseFactory 的解释并不完全有帮助。两个库都说要返回PZParser(from newDelimitedParser),但只有一个库从记录中返回实际值。根据我看到的示例,我认为BuffReaderParseFactory只是为了检查性能(因此应该更快),DefaultParserFactory另一方面包含所有记录。

于 2016-04-07T06:57:38.553 回答