这是修改之后的代码可以实现解压和压缩,注意数据的编码
/**
* 数据压缩
* @param data
* @return
*/
public static byte[] dataCompress(byte[] data) {
GZIPOutputStream gos;
try {
ByteArrayInputStream bais = new ByteArrayInputStream(data);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
gos = new GZIPOutputStream(baos);
byte[] buf = new byte[1024];
int num;
while ((num = bais.read(buf)) != -1) {
gos.write(buf, 0, num);
}
gos.finish();
gos.flush();
gos.close();
byte[] output = baos.toByteArray();
return output;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* 数据解压缩
* @param data
* @return
*/
public static byte[] dataDecompress(byte[] data){
try {
ByteArrayInputStream bais = new ByteArrayInputStream(data);
GZIPInputStream gis = new GZIPInputStream(bais);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int num;
while((num=gis.read(buf))!=-1){
baos.write(buf, 0, num);
}
gis.close();
byte[] ret = baos.toByteArray();
baos.close();
return ret;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
public static void main(String[] args) throws Exception {
String a = "算法设计阿拉斯加分类啊沙发里的说法 啊大家都是垃圾发了疯啊";
byte[] c = a.getBytes("UTF-8");
System.out.println(c.length);
byte[] d = compress(c);
System.out.println(d.length);
byte[] e = dataDecompress(d);
System.out.println(e.length);
System.out.println(new String(e,"UTF-8"));
}
分享到:
相关推荐
一个Java随书实例:用GZIP压缩解压文件,从源文件得到文件输入流,得到目标文件输出流,得到压缩输出流,设定读入缓冲区尺寸,弹出文件选择器,并判断是否点击了打开按钮,判断事件来自于哪个按钮,用于选择解压和...
在本文中,我们将深入探讨如何使用Java实现GZIP压缩和解压缩文件的源码。 首先,我们需要引入Java的`java.util.zip`包,这个包包含了处理GZIP和其他压缩格式所需的类。在Java中,`GZIPOutputStream`和`...
本文将深入探讨如何在Java后端实现对gzip压缩的处理,以便于Ajax请求能够正确地进行gzip压缩通信。 首先,我们需要理解gzip压缩的工作原理。gzip是一种基于DEFLATE算法的压缩格式,它会将连续的数据流分成多个块...
本篇文章将详细介绍如何在VC中利用解压缩库来处理Java中gzip压缩的数据。 gzip是一种广泛使用的数据压缩格式,主要应用于网络传输,它基于DEFLATE算法,可以有效地减小文件大小,从而提高传输效率。Java中提供了...
要使用GZIP压缩文件,我们首先创建一个`FileOutputStream`对象,然后通过它创建一个`GZIPOutputStream`。将要压缩的数据写入`GZIPOutputStream`,完成后记得关闭流。以下是一个简单的示例: ```java import java.io...
java,JAVA源码Java用GZIP压缩解压文件JAVA源码Java用GZIP压缩解压文件
在Java编程语言中,GZIP是一种常用的文件压缩格式,它基于DEFLATE算法,可以用于压缩和解压缩数据。在处理大文件或者网络传输时,使用GZIP进行压缩可以显著减少数据量,提高效率。本篇文章将深入探讨如何在Java中...
在本项目中,我们将关注如何使用pako库进行gzip压缩和解压缩,并解决在处理中英文内容时可能出现的乱码问题。 首先,让我们详细了解pako库。pako是基于zlib库的一个轻量级实现,它在浏览器和Node.js环境中都能运行...
对于解压缩,我们需要使用GZIPInputStream来读取GZIP压缩后的数据并将其写入到新的文件中。以下是解压缩文件的代码示例: ```java import java.io.*; import java.util.zip.*; public class GZipExample { ...
在Java编程中,GZip压缩是一种常见的数据压缩技术,它基于GNU Zip算法,可以有效地减小文件大小,便于网络传输或存储。GZip压缩在Java中的应用通常涉及到`java.util.zip`包中的类,如`GZIPOutputStream`和`...
在实际项目中,当需要处理大量数据,如日志文件或网络传输时,使用Java进行GZIP压缩和解压缩可以显著减少数据量,提高效率。 在文件名称列表`codefans.net`中,可能包含的是一个网站URL或者是一个文件名,如果这是...
总的来说,Java提供的GZIP压缩功能是强大且易用的,`GZipUtils`类的实现可以帮助我们更便捷地在项目中使用这些功能。而`GZipUtilsTest`则确保了这些功能的正确性,使得我们在实际应用中可以更加放心。
java源码资源Java用GZIP压缩解压文件提取方式是百度网盘分享地址
Java Gzip压缩是Web应用程序中常见的一种数据压缩技术,它基于GNU zip算法,可以有效减少网络传输的数据量,提高网页加载速度,节省带宽资源。本文将深入探讨Java中的Gzip压缩源码及其在Web程序中的应用。 首先,...
这个压缩包"基于java的用GZIP压缩解压文件.zip"包含了一个或多个示例,展示了如何在Java环境中利用GZIP进行文件操作。以下是关于Java中GZIP压缩和解压缩文件的相关知识点: 1. **GZIPOutputStream**:这是Java标准...
java使用GZIP压缩传输
基于java的开发源码-用GZIP压缩解压文件.zip 基于java的开发源码-用GZIP压缩解压文件.zip 基于java的开发源码-用GZIP压缩解压文件.zip 基于java的开发源码-用GZIP压缩解压文件.zip 基于java的开发源码-用GZIP压缩...
在Java中,我们主要使用`java.util.zip.GZIPOutputStream`类来进行GZIP压缩。以下是一个简单的示例: ```java import java.io.*; import java.util.zip.*; public class GzipExample { public static void main...