InputStream ips = null;
// 取前两个字节
byte[] header = new byte[2];
if (isGzip()) {
try {
BufferedInputStream bis = new BufferedInputStream(connection.getInputStream());
bis.mark(2);
int result = bis.read(header);
// reset输入流到开始位置
bis.reset();
// 判断是否是GZIP格式
int ss = (header[0] & 0xff) | ((header[1] & 0xff) << 8);
if(result!=-1 && ss == GZIPInputStream.GZIP_MAGIC) {
//System.out.println("为数据压缩格式...");
ips= new GZIPInputStream(bis);
} else {
// 取前两个字节
ips= bis;
}
} catch (java.io.IOException e) {
e.printStackTrace();
ips = connection.getInputStream();
}
} else {
ips = connection.getInputStream();
}
判断header中是否包含有gzip
public boolean isGzip() {
boolean gzip = false;
for (String key : this.getHeaders().keySet()) {
if (key.equalsIgnoreCase("Accept-Encoding") && this.getHeaders().get(key).contains("gzip")) {
gzip = true;
break;
}
}
return gzip;
}
分享到:
相关推荐
易语言GZIP解压缩源码,GZIP解压缩,GZIP压缩,GZIP解压,InitDecompression,InitCompression,CreateDecompression,CreateCompression,ResetDecompression,ResetCompression,DestroyDecompression,DeInitCompression,...
第一个软件,传输流/文件的压缩,利用Internet中惯常使用的gzip, deflate算法,可以和sun java的GZipInputStream和GZipOutputStream互操作 第二个软件,基于HTTP的压缩传输软件,可完全和IE的VBScript和...
当使用jdk中GZIPInputStream读取.gz文件时,有时还未到文件结尾,则也会返回-1,该工具类解决了此bug
类似于安卓GZIPInputStream
GZipInputStream gzi = new GZipInputStream(response.ResponseStream); MemoryStream ms = new MemoryStream(); int count=0; byte[] uncompress =new byte[1024]; while ((count = gzi.Read(uncompress, 0, ...
功能:解压或压缩zip格式的文件,里面附带ICSharpCode.SharpZipLib.dll类库,基本方法: 生成一个GZipInputStream流,用来打开压缩文件, 因为GZipInputStream由Stream派生,所以它可以赋给Stream。 它的构造函数的...
GZIPInputStream This filter stream is used to decompress a "GZIP" format stream. GZIPOutputStream This filter stream is used to compress a stream into a "GZIP" stream. Inflater Inflater is used to ...
1688个autojs的js文件源码,从简单到复杂,应有尽有,有兴趣的可以下载了认真学习,能提供不少思路
前言 Android端可以对字符串进行压缩,我们在进行大量简单文本传输时,可以先压缩字符串再发送。接收端接收后再解压。也可以将字符串压缩后...import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutput
使用java GZIPInputStream可以读取,做来电显归属软件可以用
使用java GZIPInputStream可读取,做来电归属地软件的开发可以用