标签:
package com.asia.test.TestZipFiles; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.CRC32; import java.util.zip.CheckedOutputStream; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipOutputStream; public class zipfiles { public static void main(String arg[]){ compress("E:\\test","E:\\testzip\\"); } static final int BUFFER = 2048; public static void compress(String filePath,String zipPath) { File filedir = new File(filePath); File[] files = filedir.listFiles(); if (!filedir.exists()) throw new RuntimeException(filePath + "不存在!"); try { int k = files.length/10; for(int i=0;i<=k;i++){ File zipFile = null; if(i<10){ zipFile = new File(zipPath+"testzip_0"+i+".zip"); } else { zipFile = new File(zipPath+"testzip_"+i+".zip"); } FileOutputStream fileOutputStream = new FileOutputStream(zipFile); CheckedOutputStream cos = new CheckedOutputStream(fileOutputStream,new CRC32()); ZipOutputStream out = new ZipOutputStream(cos); String basedir = ""; if(i!=k){ for(int j = i*10; j < (i+1)*10; j++){ compressFile(files[j], out); } } else { for(int j = k*10; j < files.length; j++){ compressFile(files[j], out); } } out.close(); } } catch (Exception e) { throw new RuntimeException(e); } } /** 压缩一个文件 */ private static void compressFile(File file, ZipOutputStream out) { if (!file.exists()) { return; } try { BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); ZipEntry entry = new ZipEntry(file.getName()); out.putNextEntry(entry); int count; byte data[] = new byte[BUFFER]; while ((count = bis.read(data, 0, BUFFER)) != -1) { out.write(data, 0, count); } bis.close(); } catch (Exception e) { throw new RuntimeException(e); } } }
标签:
原文地址:http://www.cnblogs.com/ganRegister/p/5738416.html