0

我有许多文本文件,它们采用固定的重复格式,例如:

Q 32,0 16
q 27
b 21
I 0
P 1
d 0
m 31,0
Q 48,0 16
q 27
b 2
I 2
P 1
d 0
m 31,0
.
.
.

我想用Java解析它们。我想知道的是解析这样一个文本文件的最快方法。如果这有助于提高性能,我可以更改文本文件的输出格式,因为这里唯一的要求是解析速度。我也可以使用外部库。

4

1 回答 1

5

最快的解析速度是使用二进制格式。我建议您使用本机字节顺序,并且您应该能够每秒读取大约 2000 万条此类数据的条目。


这里是一个以高吞吐量和低延迟读取和写入二进制数据的示例。

https://github.com/peter-lawrey/Java-Chronicle

此格式设计为在写入时读取(进程之间的延迟小于一微秒)

您可以使用比这更简单的格式,因为我怀疑您需要的只是高吞吐量。;)

顺便说一句:该库支持从内存映射的 ByteBuffer 读取和写入诸如值目录long之类的文本的无 GC 读取和写入。double因此,它可以用作快速文本记录器,每秒支持超过一百万条真实文本消息。

于 2012-06-19T12:06:35.270 回答