2011-10-12 60 views
0

我們通過MQ獲取了一個gzip文件,並且該文件還附加了一些消息屬性。我們可以從流中讀取gzip數據並將其解壓縮嗎?如果可以的話,請你指出一些問題。謝謝。從包含文本數據的文件中獲取GZip

+0

能夠從Byte陣列中獲取此信息並將其解壓縮。必須稍微跳過才能到達流的開始處。 謝謝。 –

回答

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數據結束和字符串數據開始的想法。

相關問題