作者TonyQ (沉默是金。)
看板java
标题Re: [问题] Java程式如何解压缩WebServer传来的gzi …
时间Mon Apr 26 00:08:16 2010
※ 引述《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
1F:推 Geniusking:谢谢,我本来以为HttpResponse.之後没有InputStream 04/26 00:18
2F:推 Geniusking:後来发现httpResponse.getEntity().getContent() 中有 04/26 00:20
修正一些拼字的笔误。
※ 编辑: TonyQ 来自: 114.137.7.32 (04/26 13:03)