`

java文件压缩 zip gz

阅读更多
/**
 * 多文件压缩
 * 
 * @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();
		}
	}
}

分享到:
评论

相关推荐

    java 解压,压缩linux GZ压缩文件

    GZ是一种常用的文件压缩格式,它利用了gzip程序进行压缩,而在Java中,我们可以使用`java.util.zip`包中的类来实现对GZ文件的压缩和解压缩操作。 在给出的代码中,有两个主要的方法:`testGzipOutput()`用于解压GZ...

    java zip rar(区分有无密码的RAR文件) gz ftp工具类

    `GZUtil.java`可能包含了压缩和解压缩GZ文件的相关方法。 4. **FTP工具类**: FTP(文件传输协议)常用于在网络上上传和下载文件。`FTPUtil.java`可能包含了连接FTP服务器、登录、上传文件、下载文件等方法。通常...

    java解压linux上的压缩文件gz格式文件

    本文将详细介绍如何使用 Java 在 Linux 系统上解压 `.gz` 格式的压缩文件,并探讨多种解压方法。 #### 基本解压方法 首先,我们来看一个基本的例子,该例子展示了如何使用 `GZIPInputStream` 类来读取并解压 `.gz`...

    java 生成zip压缩文件

    首先,Java标准库提供了`java.util.zip`包,该包包含了处理压缩文件格式(如ZIP和GZ)所需的所有类。在创建ZIP文件时,我们主要会用到`ZipOutputStream`和`FileInputStream`这两个类。`ZipOutputStream`用于写入ZIP...

    java获取压缩文件的名称并解压

    在Java编程中,处理压缩文件,如ZIP格式的文件,是一项常见的任务。本文将深入探讨如何使用Java来获取ZIP文件的名称以及如何高效地解压缩这些文件,特别是通过多线程来提高性能。 首先,我们需要引入Java的内置库`...

    java压缩+解压GZ(Linux)文件.rar

    在Java中,我们可以使用java.util.zip包中的GZIPOutputStream和GZIPInputStream类来实现GZ文件的压缩和解压缩。以下是一些关键知识点: 1. **GZIPOutputStream**: 这个类用于创建一个GZipped的输出流。当你需要将...

    用java.util.zip包现数据压缩与解压

    除了 ZIP 文件格式之外,`java.util.zip` 包还支持 GZIP 压缩。GZIP 是一种广泛使用的文件格式,通常用于单个文件的压缩。 ##### GZIP 压缩 使用 `GZIPOutputStream` 可以将文件压缩为 GZIP 格式: ```java ...

    CSV文件生成及Z压缩成zip下载

    分步生成csv,获取数据第一行生成文件标题,同时生成第一行数据,返回标题名称。 将多csv文件压缩成zip,之后删除原csv文件

    java.util.zip 解压缩文件,ZIP格式压缩文件.rar

    在这个场景中,我们将深入探讨如何使用这个包来解压缩和压缩ZIP格式的文件。`java.util.zip` 包包含几个关键类,如 `ZipInputStream`, `ZipOutputStream`, `ZipEntry` 等,它们共同协作以完成ZIP文件的读写操作。 ...

    java 压缩/解压 .zip/.rar/.tar 文件

    本文将详细讲解如何使用Java API来压缩和解压缩`.zip`、`.rar`和`.tar`这三种常见的文件格式。 首先,对于`.zip`文件的处理,我们可以使用Apache的`commons-compress`库中的`ZipFile`和`ZipOutputStream`类。在提供...

    java 解析 tar gz文件 两种方法

    在Java编程中,处理tar.gz文件常常用于归档和压缩大量数据。tar.gz文件是由tar命令创建的归档文件,然后通过gzip工具进行压缩。在Java中解析这种类型的文件,通常需要两个步骤:首先解压gzip,然后解包tar。这里我们...

    JAVA开发JAVA文件压缩与解压缩实践(源代码+论文).zip

    1. **Java压缩库**: Java标准库提供了`java.util.zip`包,该包包含了处理ZIP、GZ、Z和BZip2等压缩格式的类。如`ZipOutputStream`用于创建ZIP文件,`GZIPOutputStream`用于GZIP压缩,`InflaterInputStream`和`...

    java操作压缩文件和解压文件实例代码(经测试)

    在Java编程语言中,处理压缩文件(如ZIP或GZ格式)是一项常见的任务。本示例将探讨如何使用Java API来实现文件的压缩和解压缩功能。提供的压缩包包含三个文件:ant.jar(一个用于构建工具的库)、ZipFileList.java...

    Java压缩文件目录成ZIP包最新技巧

    ### Java压缩文件目录成ZIP包最新技巧 在Java开发中,对文件或目录进行压缩是一项常见且实用的功能。本文将详细介绍如何使用`java.util.zip`包中的类来压缩文件及目录,并解决其中的一个常见问题——中文文件名或...

    用java解压*.zip*.rar*.gz*.bz*.bz2等压缩文件含jar

    Java内置的`java.util.zip.GZIPInputStream`和`java.util.zip.GZIPOutputStream`处理GZ文件,而Apache Commons Compress库可以处理BZ和BZ2文件。 ```java // 解压GZ文件 FileInputStream fis = new FileInputStream...

    JAVA文件压缩与解压缩实践(源代码+论文).zip

    1. **Java内置API**: Java标准库提供了`java.util.zip`包,该包包含了处理ZIP、GZ和Deflater等压缩格式的类。例如,`ZipOutputStream`用于创建ZIP文件,`ZipInputStream`用于读取ZIP文件,而`GZIPOutputStream`和`...

    Java用GZIP压缩解压文件.rar

    总结,Java通过`java.util.zip`包提供的GZIPOutputStream和GZIPInputStream类,使得开发者能够方便地对文件进行GZIP压缩和解压缩。在实际项目中,根据具体需求选择合适的压缩和解压缩策略,可以有效提高存储和网络...

    基于JAVA文件压缩与解压缩实践源代码

    解压缩ZIP文件的过程相对简单: 1. 创建一个`ZipInputStream`对象,将其关联到ZIP文件的输入流。 2. 使用`getNextEntry()`方法遍历ZIP文件中的每个条目(`ZipEntry`)。 3. 对于每个条目,读取数据并写入目标位置,...

    Java用GZIP压缩解压文件.zip

    在Java编程中,GZIP是一种常用的文件压缩格式,它基于DEFLATE算法,可以用于压缩和解压缩数据。本教程将深入探讨如何在Java中利用GZIP进行文件的压缩和解压缩操作。 首先,让我们了解Java中的GZIPOutputStream和...

    基于Java的用GZIP压缩解压文件.zip

    在Java编程环境中,GZIP是一种常用的文件压缩格式,它基于DEFLATE算法,可以用于压缩和解压缩数据。本主题将深入探讨如何使用Java来处理GZIP压缩和解压缩文件。 首先,我们要了解Java中的`java.util.zip....

Global site tag (gtag.js) - Google Analytics