1. 程式人生 > >壓縮文件工具類

壓縮文件工具類

exception entry void 工具類 int clas exceptio try 壓縮

/**
* 壓縮文件工具類
*/
public class ZipUtils {

public static void doCompress(String srcFile, String zipFile) throws Exception {
doCompress(new File(srcFile), new File(zipFile));
}

/**
* 文件壓縮
* @param srcFile 目錄或者單個文件
* @param destFile 壓縮後的ZIP文件
*/
public static void doCompress(File srcFile, File destFile) throws Exception {
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(destFile));
if(srcFile.isDirectory()){
File[] files = srcFile.listFiles();
for(File file : files){
doCompress(file, out);
}
}else {
doCompress(srcFile, out);
}
}

public static void doCompress(String pathname, ZipOutputStream out) throws IOException{
doCompress(new File(pathname), out);
}

public static void doCompress(File file, ZipOutputStream out) throws IOException{
if(file.exists()){
byte[] buffer = new byte[1024];
FileInputStream fis = new FileInputStream(file);
out.putNextEntry(new ZipEntry(file.getName()));
int len = 0 ;
// 讀取文件的內容,打包到zip文件
while ((len = fis.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
out.flush();
out.closeEntry();
fis.close();
}
}
}

壓縮文件工具類