2011-10-12 1 views
0

MQ를 통해 gzip 파일을 가져오고 스트림에 추가 된 일부 메시지 속성이 있습니다. 스트림에서 gzip 데이터를 읽고 압축을 풀 수 있습니까? 이것이 가능하다면, 약간의 조언을 해줄 수 있습니까? 고맙습니다.텍스트 데이터를 포함하는 파일의 GZip

+0

바이트 배열에서 이것을 꺼낼 수있었습니다. 스트림의 시작 부분으로 가려면 약간의 건너 뛰기를해야했습니다. 감사합니다. –

답변

0

이렇게하면됩니다. 내 필요 조정 (테스트하지 않음).

편집 :

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()); 
+0

정확합니다. 더 나은 방법으로 게시물을 수정했습니다. –

+0

이것은 컴파일되지 않습니다. 'while' 표현식은 부울이어야합니다. –

+0

고정. ;) 오늘 내 마음이 다 거기에있는 것은 아니다. –

0

읽기 기능은 읽어 실제 바이트 수를 반환합니다. 따라서이 함수의 반환 값을 저장해야합니다 (현재 코드를 체크인하는 동안 내부에 있음). 이 값이! = -1이고 < 1024 일 때 gzip 데이터가 끝나고 문자열 데이터가 시작되는 지점을 알 수 있습니다.