`
ujs_lifazhu
  • 浏览: 32051 次
  • 性别: 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);
		}
		

	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics