ByteArrayOutputStream arrayOutputStream =new ByteArrayOutputStream();
GZIPOutputStream gop = new GZIPOutputStream(arrayOutputStream);
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
gop.write(buffer, 0, len);
}
gop.finish(); //这个在写入arrayOutputStream时一定要有,否则不能完全写入
gop.close;
----------------------------------------
Header encoding = method.getResponseHeader("Content-Encoding");
if (encoding != null) {
if (encoding.getValue().equals("gzip")) {
bytes = GZipUtil.unzip(bytes);
}
}
public static byte[] unzip(InputStream in) throws IOException {
// Open the compressed stream
GZIPInputStream gin = new GZIPInputStream(in);
ByteArrayOutputStream out = new ByteArrayOutputStream();
// Transfer bytes from the compressed stream to the output stream
byte[] buf = new byte[size];
int len;
while ((len = gin.read(buf)) > 0) {
out.write(buf, 0, len);
}
// Close the file and stream
gin.close();
out.close();
return out.toByteArray();
}
分享到:
相关推荐
Java的标准库提供了`java.util.zip`包,它包含了多种用于压缩和解压缩的类,如ZipOutputStream、ZipInputStream、GZIPOutputStream、GZIPInputStream等。其中,Zip格式常用于创建包含多个文件的归档,而GZIP则用于...
首先,让我们了解Java中的GZIPOutputStream和GZIPInputStream类,它们是处理GZIP压缩和解压缩的核心工具。`java.util.zip.GZIPOutputStream`用于将数据写入GZIP格式的流,而`java.util.zip.GZIPInputStream`则用于从...
10. **文档**:文件压缩与解压缩实践.doc和使用说明.txt可能包含了项目的设计思路、实现细节以及使用方法。良好的文档是项目成功的关键,它可以帮助其他开发者理解和使用你的代码。 这个毕业设计项目涵盖了文件系统...
本文将详细讲解如何在Android中实现字符串的压缩与解压缩,使用的工具是Java内置的GZIPOutputStream和GZIPInputStream。 首先,我们需要了解的是GZIP压缩算法。GZIP是一种广泛使用的文件压缩格式,它基于DEFLATE...
LZ77算法通过查找文件中的重复模式并创建一个字典来实现压缩,而Huffman编码则是一种变长编码方法,用于根据出现频率对字符进行编码,频繁出现的字符使用较短的编码,从而进一步优化压缩效果。 在Java环境中实现...
Java GZIP库是Java标准库中的一个组成部分,主要...通过以上讲解,我们了解了Java中如何使用GZIP进行文件和数据流的压缩与解压缩,以及涉及到的相关类和方法。在实际应用中,可以根据具体需求选择合适的方式处理数据。
例如,`ZipOutputStream`用于创建ZIP文件,`ZipInputStream`用于读取ZIP文件,而`GZIPOutputStream`和`GZIPInputStream`则分别用于GZIP压缩和解压缩。 2. **ZipOutputStream的使用**: 使用`ZipOutputStream`,我们...
Java标准库中的`java.util.zip`包提供了`GZIPOutputStream`和`GZIPInputStream`类,它们实现了广泛使用的Gzip压缩算法。Gzip是一种高效的压缩格式,常用于文件传输。以下是如何使用这两个类进行数据压缩和解压缩的...
要读取一个ZIP文件,你需要创建一个`ZipInputStream`实例,然后使用`getNextEntry()`方法遍历每个条目。对于GZIP文件,可以使用`GZIPInputStream`配合`BufferedReader`进行解压读取。 写入ZIP文件时,可以创建`...
在Java中,我们可以直接使用java.util.zip包下的GZIPOutputStream和GZIPInputStream来实现对数据的压缩和解压缩操作。 首先,我们来看`GZipUtils.java`这个文件,它通常会包含一些静态方法,提供方便的GZIP压缩和解...
2. **GZIPOutputStream和GZIPInputStream**:Java标准库提供了`java.util.zip`包,其中的`GZIPOutputStream`用于压缩数据,而`GZIPInputStream`则用于解压缩。这两个类实现了广泛使用的GZIP压缩格式,常用于在网络上...
9. **GZIPOutputStream和GZIPInputStream**:除了ZIP格式,Java还提供了处理GZIP格式的类,如`GZIPOutputStream`和`GZIPInputStream`,它们可以用来实现GZIP压缩和解压缩。 10. **第三方库**:虽然Java标准库已经...
在Java中,我们可以使用java.util.zip.GZIPOutputStream和GZIPInputStream类来实现Gzip的压缩和解压缩操作。 接下来,我们将讨论如何在Web程序中使用Gzip压缩。在Web服务器上启用Gzip压缩通常有两种方式:配置...
Java的java.util.zip包提供了压缩和解压缩功能,如GZIPOutputStream和GZIPInputStream用于gzip压缩,ZipOutputStream和ZipInputStream处理zip格式。 8.6 对象序列化 Java的对象序列化机制允许将对象的状态转换为...
同时,GZIPOutputStream和GZIPInputStream则用于处理GZIP格式。这些类利用了gzip和zip的算法,可以方便地对文件进行压缩和解压缩操作。 2. 文件选择与操作: 在Java中,我们可以使用java.io.File类来处理文件和...
3. **Java的GZIPOutputStream和GZIPInputStream**:对于GZIP格式的压缩,Java提供了这两个类。GZIPOutputStream可以将数据压缩成GZIP格式,而GZIPInputStream则负责解压GZIP文件。 4. **Java的Inflater和Deflater**...
例如,使用ZipFile和ZipEntry类来操作ZIP文件,使用GZipOutputStream和GZipInputStream进行GZip压缩。 4. **压缩和解压缩效率比较**:程序可能包含了不同库和方法之间的性能测试,对比SharpZipLib和System.IO....
例如,DataInputStream和DataOutputStream可以处理基本数据类型,GZIPOutputStream和GZIPInputStream实现Gzip压缩,CipherInputStream和CipherOutputStream用于加密解密。 网络通信方面,Socket和ServerSocket类...
7. **GZIPOutputStream 和 GZIPInputStream**: Java标准库还提供了处理GZIP格式的类,GZIPOutputStream用于压缩数据到GZIP文件,而GZIPInputStream则用于解压缩GZIP文件。虽然GZIP格式不支持多文件压缩,但它们在...
3. **GZIPOutputStream与GZIPInputStream**: 如果你需要创建GZIP格式的压缩文件,这两个类会派上用场。GZIP是一种广泛使用的文件压缩格式,通常用于单个文件的压缩。`GZIPOutputStream`可以将数据写入GZIP格式的流,...