`
wingware
  • 浏览: 142199 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

判断是否为GZIPInputStream格式(gzip压缩格式)

阅读更多
                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压缩,GZIP解压,InitDecompression,InitCompression,CreateDecompression,CreateCompression,ResetDecompression,ResetCompression,DestroyDecompression,DeInitCompression,...

    GZip流压缩&Web流压缩组件

     第一个软件,传输流/文件的压缩,利用Internet中惯常使用的gzip, deflate算法,可以和sun java的GZipInputStream和GZipOutputStream互操作  第二个软件,基于HTTP的压缩传输软件,可完全和IE的VBScript和...

    重写GZIPInputStream中相应方法MultiMemberGZIPInputStream

    当使用jdk中GZIPInputStream读取.gz文件时,有时还未到文件结尾,则也会返回-1,该工具类解决了此bug

    OC GZIP解压/压缩ISO-8859-1编码格式

    类似于安卓GZIPInputStream

    sharp zipsharp zip

    GZipInputStream gzi = new GZipInputStream(response.ResponseStream); MemoryStream ms = new MemoryStream(); int count=0; byte[] uncompress =new byte[1024]; while ((count = gzi.Read(uncompress, 0, ...

    C#压缩与解压代码

    功能:解压或压缩zip格式的文件,里面附带ICSharpCode.SharpZipLib.dll类库,基本方法: 生成一个GZipInputStream流,用来打开压缩文件, 因为GZipInputStream由Stream派生,所以它可以赋给Stream。 它的构造函数的...

    zipme包---j2me的zip

    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 ...

    autojsdemo.zip

    1688个autojs的js文件源码,从简单到复杂,应有尽有,有兴趣的可以下载了认真学习,能提供不少思路

    Android实现压缩字符串的方法示例

    前言 Android端可以对字符串进行压缩,我们在进行大量简单文本传输时,可以先压缩字符串再发送。接收端接收后再解压。也可以将字符串压缩后...import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutput

    归属地数据库

    使用java GZIPInputStream可以读取,做来电显归属软件可以用

    归属地数据

    使用java GZIPInputStream可读取,做来电归属地软件的开发可以用

Global site tag (gtag.js) - Google Analytics