/**
* 多文件压缩
*
* @author Administrator
*
*/
public class ZipCompress {
public static void main(String args[]) {
String[] filepaths = { "D:\\zip1.txt", "D:\\zip2.txt" };
try {
FileOutputStream f = new FileOutputStream("D://test.zip");
// 输出校验流,采用Adler32更快
CheckedOutputStream csum = new CheckedOutputStream(f, new Adler32());
//创建压缩输出流
ZipOutputStream zos = new ZipOutputStream(csum);
BufferedOutputStream out = new BufferedOutputStream(zos);
//设置Zip文件注释
zos.setComment("A test of java Zipping");
for (String s : filepaths) {
System.out.println("Writing file " + s);
//针对单个文件建立读取流
BufferedReader bin = new BufferedReader(new FileReader(s));
//ZipEntry ZIP 文件条目
//putNextEntry 写入新条目,并定位到新条目开始处
zos.putNextEntry(new ZipEntry(s));
int c;
while ((c = bin.read()) != -1) {
out.write(c);
}
bin.close();
out.flush();
}
out.close();
FileInputStream fi = new FileInputStream("D://test.zip");
CheckedInputStream csumi = new CheckedInputStream(fi, new Adler32());
ZipInputStream in2 = new ZipInputStream(csumi);
BufferedInputStream bis = new BufferedInputStream(in2);
ZipEntry ze;
while ((ze = in2.getNextEntry()) != null) {
System.out.println("Reader File " + ze);
int x;
while ((x = bis.read()) != -1)
System.out.println(x);
}
//利用ZipFile解压压缩文件
ZipFile zf = new ZipFile("D:\\test.zip");
Enumeration e = zf.entries();
while(e.hasMoreElements()){
ZipEntry ze2 = (ZipEntry) e.nextElement();
System.out.println("File name : "+ze2);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 文件压缩
* 把文件压缩成GZIP 单一的流数据 并不是互异的数据
* GZIPOutputStream的使用
* @author Administrator
*
*/
public class GzipPcompress {
public static void main(String args[]) {
try {
BufferedReader in = new BufferedReader(new FileReader("D:\\gziptest.txt"));
BufferedOutputStream out = new BufferedOutputStream(
new GZIPOutputStream(new FileOutputStream("D:\\test.gz")));
System.out.println("Writing file");
int c;
while ((c = in.read()) != -1) {
out.write(c);
}
in.close();
out.close();
System.out.println("Reading file");
BufferedReader in2 = new BufferedReader(new InputStreamReader(
new GZIPInputStream(new FileInputStream("D:\\test.gz"))));
String s;
while((s=in2.readLine()) != null){
System.out.println(s);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
GZ是一种常用的文件压缩格式,它利用了gzip程序进行压缩,而在Java中,我们可以使用`java.util.zip`包中的类来实现对GZ文件的压缩和解压缩操作。 在给出的代码中,有两个主要的方法:`testGzipOutput()`用于解压GZ...
`GZUtil.java`可能包含了压缩和解压缩GZ文件的相关方法。 4. **FTP工具类**: FTP(文件传输协议)常用于在网络上上传和下载文件。`FTPUtil.java`可能包含了连接FTP服务器、登录、上传文件、下载文件等方法。通常...
本文将详细介绍如何使用 Java 在 Linux 系统上解压 `.gz` 格式的压缩文件,并探讨多种解压方法。 #### 基本解压方法 首先,我们来看一个基本的例子,该例子展示了如何使用 `GZIPInputStream` 类来读取并解压 `.gz`...
首先,Java标准库提供了`java.util.zip`包,该包包含了处理压缩文件格式(如ZIP和GZ)所需的所有类。在创建ZIP文件时,我们主要会用到`ZipOutputStream`和`FileInputStream`这两个类。`ZipOutputStream`用于写入ZIP...
在Java编程中,处理压缩文件,如ZIP格式的文件,是一项常见的任务。本文将深入探讨如何使用Java来获取ZIP文件的名称以及如何高效地解压缩这些文件,特别是通过多线程来提高性能。 首先,我们需要引入Java的内置库`...
在Java中,我们可以使用java.util.zip包中的GZIPOutputStream和GZIPInputStream类来实现GZ文件的压缩和解压缩。以下是一些关键知识点: 1. **GZIPOutputStream**: 这个类用于创建一个GZipped的输出流。当你需要将...
除了 ZIP 文件格式之外,`java.util.zip` 包还支持 GZIP 压缩。GZIP 是一种广泛使用的文件格式,通常用于单个文件的压缩。 ##### GZIP 压缩 使用 `GZIPOutputStream` 可以将文件压缩为 GZIP 格式: ```java ...
分步生成csv,获取数据第一行生成文件标题,同时生成第一行数据,返回标题名称。 将多csv文件压缩成zip,之后删除原csv文件
在这个场景中,我们将深入探讨如何使用这个包来解压缩和压缩ZIP格式的文件。`java.util.zip` 包包含几个关键类,如 `ZipInputStream`, `ZipOutputStream`, `ZipEntry` 等,它们共同协作以完成ZIP文件的读写操作。 ...
本文将详细讲解如何使用Java API来压缩和解压缩`.zip`、`.rar`和`.tar`这三种常见的文件格式。 首先,对于`.zip`文件的处理,我们可以使用Apache的`commons-compress`库中的`ZipFile`和`ZipOutputStream`类。在提供...
在Java编程中,处理tar.gz文件常常用于归档和压缩大量数据。tar.gz文件是由tar命令创建的归档文件,然后通过gzip工具进行压缩。在Java中解析这种类型的文件,通常需要两个步骤:首先解压gzip,然后解包tar。这里我们...
1. **Java压缩库**: Java标准库提供了`java.util.zip`包,该包包含了处理ZIP、GZ、Z和BZip2等压缩格式的类。如`ZipOutputStream`用于创建ZIP文件,`GZIPOutputStream`用于GZIP压缩,`InflaterInputStream`和`...
在Java编程语言中,处理压缩文件(如ZIP或GZ格式)是一项常见的任务。本示例将探讨如何使用Java API来实现文件的压缩和解压缩功能。提供的压缩包包含三个文件:ant.jar(一个用于构建工具的库)、ZipFileList.java...
### Java压缩文件目录成ZIP包最新技巧 在Java开发中,对文件或目录进行压缩是一项常见且实用的功能。本文将详细介绍如何使用`java.util.zip`包中的类来压缩文件及目录,并解决其中的一个常见问题——中文文件名或...
Java内置的`java.util.zip.GZIPInputStream`和`java.util.zip.GZIPOutputStream`处理GZ文件,而Apache Commons Compress库可以处理BZ和BZ2文件。 ```java // 解压GZ文件 FileInputStream fis = new FileInputStream...
1. **Java内置API**: Java标准库提供了`java.util.zip`包,该包包含了处理ZIP、GZ和Deflater等压缩格式的类。例如,`ZipOutputStream`用于创建ZIP文件,`ZipInputStream`用于读取ZIP文件,而`GZIPOutputStream`和`...
总结,Java通过`java.util.zip`包提供的GZIPOutputStream和GZIPInputStream类,使得开发者能够方便地对文件进行GZIP压缩和解压缩。在实际项目中,根据具体需求选择合适的压缩和解压缩策略,可以有效提高存储和网络...
解压缩ZIP文件的过程相对简单: 1. 创建一个`ZipInputStream`对象,将其关联到ZIP文件的输入流。 2. 使用`getNextEntry()`方法遍历ZIP文件中的每个条目(`ZipEntry`)。 3. 对于每个条目,读取数据并写入目标位置,...
在Java编程中,GZIP是一种常用的文件压缩格式,它基于DEFLATE算法,可以用于压缩和解压缩数据。本教程将深入探讨如何在Java中利用GZIP进行文件的压缩和解压缩操作。 首先,让我们了解Java中的GZIPOutputStream和...
在Java编程环境中,GZIP是一种常用的文件压缩格式,它基于DEFLATE算法,可以用于压缩和解压缩数据。本主题将深入探讨如何使用Java来处理GZIP压缩和解压缩文件。 首先,我们要了解Java中的`java.util.zip....