码迷,mamicode.com
首页 > 其他好文 > 详细

将目录下文件压缩至多个包

时间:2016-08-04 22:49:43      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!