package com.mjp.core.util;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.Adler32;
import java.util.zip.CheckedOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipUtil {
public static void compress(File dir,File dest) throws Exception{
FileOutputStream fos = new FileOutputStream(dest);
CheckedOutputStream cos = new CheckedOutputStream(fos,new Adler32());
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(cos));
zipFile(out,dir,dir.getName());
}
private static void zipFile(ZipOutputStream out,File dir,String filePath) throws Exception{
for(File f : dir.listFiles()){
String name = filePath + File.separator + f.getName();
if(f.isDirectory()){
zipFile(out,f,name);
}else{
FileInputStream in = new FileInputStream(f);
out.putNextEntry(new ZipEntry(name));
byte[] b = new byte[1024];
int off = 0;
while(in.read(b,off,1024) != -1){
out.write(b);
}
in.close();
}
}
}
}
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.Adler32;
import java.util.zip.CheckedOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipUtil {
public static void compress(File dir,File dest) throws Exception{
FileOutputStream fos = new FileOutputStream(dest);
CheckedOutputStream cos = new CheckedOutputStream(fos,new Adler32());
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(cos));
zipFile(out,dir,dir.getName());
}
private static void zipFile(ZipOutputStream out,File dir,String filePath) throws Exception{
for(File f : dir.listFiles()){
String name = filePath + File.separator + f.getName();
if(f.isDirectory()){
zipFile(out,f,name);
}else{
FileInputStream in = new FileInputStream(f);
out.putNextEntry(new ZipEntry(name));
byte[] b = new byte[1024];
int off = 0;
while(in.read(b,off,1024) != -1){
out.write(b);
}
in.close();
}
}
}
}