Java - разделить две строки gzip - PullRequest
0 голосов
/ 16 января 2012

У меня есть две строки.Например, «яблоко» и «ньютон».Я сжимаю их с помощью gzip отдельно и соединяю результирующие gzip-строки и сохраняю их в файле.Затем я извлекаю содержимое в файл.Когда я распаковываю всю строку вместе, я получаю точный результат.Но я хочу найти EOF каждой сжатой строки.Возможно ли это.

Это необходимо, потому что я храню большой мусор данных.Я получаю, используя размер буфера.Когда я непосредственно пытаюсь распаковать архив, я получаю EOFException.Если я могу получить EOF, я могу обрезать ненужную часть, а затем распаковать необходимый контент

Ответы [ 3 ]

3 голосов
/ 16 января 2012

Используйте любой символ-разделитель перед соединением двух строк, например пробел или запятую, чтобы вы могли распознать конец каждой строки.

когда вы разархивируете всю строку вместе, вы получитерезультат, подобный этому «яблоко, ньютон»,

Теперь используйте метод split () класса String для получения отдельных строк.

String[] strings = totalString.split("," , 0);
0 голосов
/ 29 июля 2014

В инфляторе есть метод isFinished (), который останавливается на границах.я в основном написал класс для расширения GzipinputStream и возврата объекта inflater.Всякий раз, когда есть поток детали, который завершен, isFinished возвращает true.Вы можете продолжить чтение или остановиться на этом

0 голосов
/ 16 января 2012

Вы можете хранить «яблоко», «ньютон» как два отдельных объекта String с другим объектом, чтобы отделить эти два объекта.Когда вы читаете объект, вы можете сравнить, какой тип объекта.Таким образом, вы можете легко найти объект-разделитель.

...