Re: [問題] Java程式如何解壓縮WebServer傳來的gzi …

看板java作者 (沉默是金。)時間15年前 (2010/04/26 00:08), 編輯推噓2(200)
留言2則, 1人參與, 最新討論串1/2 (看更多)
※ 引述《Geniusking (真理斯金)》之銘言: : 其實這是Android內的程式,不過應該差不多 : 我是用apache的HttpClient做連線 : WebServer有支援Gzip壓縮,所以我用 : httpRequest.addHeader("Accept-Encoding", "deflate,gzip"); : 在Request時請求一個經Gzip壓縮後的結果 : 但因為我的APP不是Browser所以沒辦法把回傳的結果解壓縮 : 有查了一下GZIPInputStream的用法,但找不到直接把回傳結果解壓縮印出來的方法 以下沒作過,純推理。 你request這個site可以拿到一個 InputStream, 你可以把他包成 GZIPInputStream,這樣「理論上」GZIPInputStream, 會負責把他讀成解壓之後的結果。 你可以直接調用他的read,你也可以透過 InputStreamReader , ex. BufferedReader / Scanner 之類的 StreamReader , 來用 readLine() / nextLine() 這類函數來進行一行一行的讀取。 把資料變成 String 後,你應該就有辦法去進行下一階段的處理。 以上都是理論上,不過我曾經作過ZIP 的壓縮跟解壓縮的流程, gzip 應該是相去不遠才對...... --  ▄▅▆▇███▇▆▅▄▃        ╰┼╯─╮ ╮         ◥███████████◣       ╰┼╯=│=│         ◥██████───────    *. ╯  ╯ ╯ の 物 語 .*  ◥███████──────◣ ~ ◢◣             ◢◣  ◥██████───────◤   ◥◤  空白的世界.翼 ◥◤  ◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂telnet://tony1223.twbbs.org -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.137.62.17

04/26 00:18, , 1F
謝謝,我本來以為HttpResponse.之後沒有InputStream
04/26 00:18, 1F

04/26 00:20, , 2F
後來發現httpResponse.getEntity().getContent() 中有
04/26 00:20, 2F
修正一些拼字的筆誤。 ※ 編輯: TonyQ 來自: 114.137.7.32 (04/26 13:03)
文章代碼(AID): #1Br6ZpW0 (java)
文章代碼(AID): #1Br6ZpW0 (java)