1. 程式人生 > >壓縮檔案工具類

壓縮檔案工具類

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檔案

*學習群64弍46衣3凌9,資料群69似64陸0吧3

 */

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(); } } }