`
ujs_lifazhu
  • 浏览: 34418 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java zip压缩多个文件

    博客分类:
  • java
阅读更多

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.Enumeration;
import java.util.zip.Adler32;
import java.util.zip.CheckedInputStream;
import java.util.zip.CheckedOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;

import com.lifz.chapters18.util.ConstantUtil;

public class ZipCompress {

	public static void main(String[] args) throws IOException {
		 writeIn() ;
		 readZip();
	}

	private static void writeIn() throws IOException {
		FileOutputStream fos = new FileOutputStream("c:/testZip.zip");
		CheckedOutputStream cos = new CheckedOutputStream(fos, new Adler32());
		ZipOutputStream zos = new ZipOutputStream(cos);
		BufferedOutputStream bos = new BufferedOutputStream(zos);
		zos.setComment("test zip ");
		String[] fileArray = { ConstantUtil.file, ConstantUtil.secondFile };
		String[] fileA = { "java.txt", "java2.txt" };
		for (int i = 0; i < fileArray.length; i++) {
			zos.putNextEntry(new ZipEntry(fileA[i]));
			BufferedReader br = new BufferedReader(new FileReader(new File(
					fileArray[i])));
			int c;
			while ((c = br.read()) != -1) {
				bos.write(c);
			}
			br.close();
			bos.flush();
		}
		bos.close();
	}

	private static void readZip() throws IOException {
		FileInputStream fis = new FileInputStream("c:/testZip.zip");

		CheckedInputStream cis = new CheckedInputStream(fis, new Adler32());
		ZipInputStream zis = new ZipInputStream(cis);

		BufferedInputStream bis = new BufferedInputStream(zis);
		ZipEntry ze;
		while((ze = zis.getNextEntry())!=null){
			System.out.println("reading file"+ze);
			int x;
			while((x=bis.read())!=-1){
				System.out.println(x);
			}
		}
		System.out.println("checksum"+cis.getChecksum().getValue());
		bis.close();
		Enumeration e =new ZipFile("c:/testZip.zip").entries();
		
		while(e.hasMoreElements()){
			ZipEntry ze2 = (ZipEntry) e.nextElement();
			System.out.println("file"+ze2);
		}
		

	}
}

分享到:
评论

相关推荐

    Java用Zip压缩多个文件实例源码

    下面是一个完整的Java源码实例,展示了如何使用`ZipOutputStream`压缩多个文件: ```java import java.io.*; import java.util.zip.*; public class ZipFilesExample { public static void main(String[] ...

    Java调用Zip类批量压缩多个文件.rar

     super("用ZIP压缩多个文件"); //调用父类构造函数  fileChooser=new JFileChooser(); //实例化文件选择器  files=new Vector(); //实例化文件数据Vector  fileList=new JList(files); //实例化已选择文件...

    基于java的开发源码-用Zip压缩多个文件实例源码.zip

    基于java的开发源码-用Zip压缩多个文件实例源码.zip 基于java的开发源码-用Zip压缩多个文件实例源码.zip 基于java的开发源码-用Zip压缩多个文件实例源码.zip 基于java的开发源码-用Zip压缩多个文件实例源码.zip 基于...

    java多文件压缩成zip文件并实现下载

    在Java编程中,将多个文件压缩成一个ZIP文件并实现下载是一个常见的任务,尤其是在处理大量数据或文件分发时。这个过程涉及到Java的I/O流、压缩和HTTP响应的使用。下面将详细介绍如何实现这个功能。 首先,我们需要...

    Java Zip算法压缩多个文件的例子.rar

    Java Zip算法压缩多个文件的例子,具体的实现原理是:先打开文件并读取,然后利用ZipEntry实例化待压缩的条目列表,将ZIP条目列表写入输出流,从源文件得到文件输入流,写入缓冲数据等。相关代码:  ...

    Java用Zip压缩多个文件实例源码.zip

    在Java编程语言中,Zip压缩是一种常见的文件归档和压缩技术,用于将多个文件合并到一个单一的ZIP文件中,以便于存储、传输或备份。本实例源码着重讲解如何在Java中使用ZipOutputStream类来实现对多个文件的压缩操作...

    Java把文件压缩成zip

    本文主要介绍如何使用Java实现文件的ZIP压缩功能,并提供了完整的代码示例。通过学习本文,你可以掌握以下几个知识点: 1. 使用`java.util.zip`包中的类进行文件压缩。 2. 如何创建ZIP输出流并写入文件数据。 3. ...

    Java实现将多目录多层级文件打成ZIP包,以及解压ZIP包

    - 对于每个文件,创建一个`ZipEntry`实例,设置其名称为相对于根目录的路径。 - 将`ZipEntry`写入`ZipOutputStream`,然后复制文件内容到输出流。 - 为了处理多层级目录,需要在创建`ZipEntry`时正确构造路径,...

    java Zip压缩解压

    这样,多个文件就可以被合并到一个ZIP文件中。 例如,创建一个包含两个文件的ZIP文件的代码可能如下: ```java File file1 = new File("file1.txt"); File file2 = new File("file2.txt"); try ...

    Java zip 压缩/解压源码

    在Java编程语言中,`zip`格式是一种常用的文件压缩方式,用于将多个文件打包成一个单一的可压缩文件。这个`Java zip 压缩/解压源码`的资源提供了一个简洁易用的API,使得开发者能够方便地对文件进行压缩和解压缩操作...

    javazip压缩类

    JavaZip压缩类是Java编程语言中用于处理ZIP文件格式的核心工具,主要集中在java.util.zip包中。这个包提供了多种类和接口,使得开发者能够轻松地对数据进行压缩和解压缩,尤其是在开发需要处理大量数据的应用时,如...

    JAVA源码Java用Zip压缩多个文件实例源码

    JAVA源码Java用Zip压缩多个文件实例源码

    基于Java向zip压缩包追加文件

    - `zip`方法用于压缩多个文件或目录。它接受一个文件路径列表和输出ZIP文件名作为参数。首先创建一个`ZipOutputStream`,然后遍历所有文件路径,调用`zipFile`方法进行递归压缩。 - `zipFile`方法负责实际的文件...

    java zip文件压缩与解压缩

    如果"Rail"是多个文件,那么它们会被分别压缩并保存在ZIP中。 总结来说,Java中使用Apache Commons Compress库进行ZIP文件操作,不仅提供了更丰富的功能,如设置字符编码,还能有效处理中文等非ASCII字符,保证了在...

    Java用Zip压缩多个文件实例源码.rar

    本实例源码主要关注如何使用Java的ZipOutputStream类来将多个文件压缩成一个Zip文件。ZipOutputStream是Java IO库的一部分,它允许程序员创建符合ZIP格式的压缩输出流。 首先,我们需要引入必要的Java IO和Zip相关...

    JAVA文件压缩与解压缩实践,java解压缩zip文件,Java源码.zip

    本实践主要关注如何使用Java来处理ZIP格式的压缩文件,以下将详细介绍相关知识点。 1. **Java档案API(Java Archive API, JAR)** Java标准库提供了一个强大的API来处理各种类型的档案文件,包括ZIP格式。`java....

    zip 压缩 文件 Java

    ZIP是一种通用的数据压缩和归档格式,可以包含多个文件和目录,每个都经过独立压缩。在Java中,我们可以利用java.util.zip包中的类来处理ZIP文件,主要包括ZipOutputStream用于压缩,ZipInputStream用于解压缩。 **...

    java压缩文件生成带密码的zip包,解压带密码的zip包的工具类

    单个文件、多个文件压缩 /** * 使用给定密码压缩指定文件或文件夹到指定位置. * * dest可传最终压缩文件存放的绝对路径,也可以传存放目录,也可以传null或者"". * 如果传null或者""则将压缩文件存放在当前...

    Java多个文件根据URL下载后打包zip导出.zip

    在Java编程中,有时我们需要从网络上下载多个文件并将其打包为一个压缩文件,例如ZIP格式,以便于存储或分发。这个过程涉及到文件I/O操作、网络请求以及压缩算法的使用。以下是对这个场景的详细说明: 1. **网络...

    java将文件夹压缩成zip,解压zip压缩包

    本篇文章将详细探讨如何使用Java内置的IO流来实现文件夹的zip压缩以及zip压缩包的解压,无需依赖其他的第三方库如Apache Commons IO或JavaZip。 ### 文件夹压缩成ZIP 首先,我们需要理解如何将一个文件夹及其内容...

Global site tag (gtag.js) - Google Analytics