Вот моя проблема: один большой сжатый файл;миллионы сообщений.
Каждое сообщение состоит из:
***************** *************** ******************
* 2-byte LENGTH * * 1-byte TYPE * * N-byte PAYLOAD * , where N = (LENGTH-1).
***************** *************** ******************
В зависимости от TYPE
, мне нужно прочитать несколько байтов из смещения в PAYLOAD
и выбрать, принять или отклонить сообщение.
Я знаю, как делать такие вещи, используя java.io.DataInputStream, но это похоже на идеальное приложение java.nio.ByteBuffer ( см. Здесь! ).Однако мне нужна помощь в настройке.
Итак, как мне использовать ByteBuffer для чтения сообщений из моего файла gzipped?
Обновление
Полагаю, мне хотелось бы увидеть скелетную реализацию кода, которая могла бы помочь мне в правильном использовании ByteBuffer.Спасибо!