#java #gzip
#java #gzip
Вопрос:
Мы получаем файл gzip через MQ, и у него также есть некоторые свойства сообщения, добавленные к потоку. Можем ли мы прочитать данные gzip из потока и разархивировать их? Если это возможно, не могли бы вы дать несколько советов. Спасибо.
Комментарии:
1. Удалось извлечь это из массива байтов и также разархивировать его. Пришлось немного пропустить, чтобы перейти к началу потока. Спасибо.
Ответ №1:
функция чтения возвращает фактическое количество прочитанных байтов. Таким образом, вы должны сохранить возвращаемое значение этой функции (в настоящее время внутри при проверке вашего кода). Когда это значение равно != -1 и равно < 1024, это дает вам представление о том, где заканчиваются данные gzip и начинаются строковые данные.
Ответ №2:
Это должно сработать. Мне нужна настройка (не проверялась).
Редактировать:
GZIPInputStream gz = new GZIPInputStream(inputStream);
InputStreamReader r = new InputStreamReader(gz);
BufferedReader br = new BufferedReader(r);
StringBuilder sb = new StringBuilder();
String line;
while ( (line = br.readLine()) != null ) {
sb.append(line);
}
System.out.println(sb.toString());
Комментарии:
1. Это не будет компилироваться;
while
выражение должно быть логическим.