MQ를 통해 gzip 파일을 가져오고 스트림에 추가 된 일부 메시지 속성이 있습니다. 스트림에서 gzip 데이터를 읽고 압축을 풀 수 있습니까? 이것이 가능하다면, 약간의 조언을 해줄 수 있습니까? 고맙습니다.텍스트 데이터를 포함하는 파일의 GZip
답변
이렇게하면됩니다. 내 필요 조정 (테스트하지 않음).
편집 :
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());
정확합니다. 더 나은 방법으로 게시물을 수정했습니다. –
이것은 컴파일되지 않습니다. 'while' 표현식은 부울이어야합니다. –
고정. ;) 오늘 내 마음이 다 거기에있는 것은 아니다. –
읽기 기능은 읽어 실제 바이트 수를 반환합니다. 따라서이 함수의 반환 값을 저장해야합니다 (현재 코드를 체크인하는 동안 내부에 있음). 이 값이! = -1이고 < 1024 일 때 gzip 데이터가 끝나고 문자열 데이터가 시작되는 지점을 알 수 있습니다.
바이트 배열에서 이것을 꺼낼 수있었습니다. 스트림의 시작 부분으로 가려면 약간의 건너 뛰기를해야했습니다. 감사합니다. –