这是我的问题:一个大的 gzip 文件;数百万条消息。
每条消息包括:
***************** *************** ******************
* 2-byte LENGTH * * 1-byte TYPE * * N-byte PAYLOAD * , where N = (LENGTH-1).
***************** *************** ******************
根据TYPE
,我需要从 中的偏移量中读取几个字节,PAYLOAD
然后选择接受或拒绝消息。
我知道如何使用 java.io.DataInputStream 来做这种事情,但这似乎是 java.nio.ByteBuffer 的完美应用(见这里!)。但是,我需要一些帮助来设置它。
那么,如何使用 ByteBuffer 从我的 gzip 文件中读取消息?
更新
我想我想看到的是代码的骨架实现,它可以让我走上正确的轨道来有效地使用 ByteBuffer。谢谢!