我有一些数据文件看起来像这样:
text
header
"lots of binary data hear"
/header
more text
header
"more binary data"
/header
....
大多数文件的大小约为1-5MB。我不太可能处理任何大于30MB的文件。
我是Java NIO的新手,API对我来说有点像丛林。任何人都可以给我任何指针,我应该如何解析这样的文件?
是否有可能让多个线程使用来自文件不同部分的数据?该文件将打开以供阅读。
答案 0 :(得分:2)
重新设计文件。那是一个糟糕的设计。
答案 1 :(得分:1)
问题是,如果您正在阅读文本或二进制数据,您将如何知道。如果文本和二进制区域有明确的分界(如标记或定义的块大小),那么我怀疑Preon能够帮助你。 Preon确实支持以有用的方式读取文本和二进制数据。由于我非常确定您的二进制数据代表了其他内容,因此您也可以将二进制位解码为比数组更有用的数据结构。
答案 2 :(得分:0)
你可以FileChannel.map()
,并像数组一样阅读。