天天看點

Java中zip的壓縮和解壓縮

在Java中可以使用ZipOutputStream和ZipInputStream來實作zip的壓縮和解壓縮操作,另外使用FileSystem也可以用來實作zip的解壓縮,下面将介紹這幾種方式,直接上代碼。

待壓縮檔案目錄結構:

Java中zip的壓縮和解壓縮

每個zip檔案項都要對應一個ZipEntry,然後通過ZipOutputStream的putNextEntry方法開始寫入一個新的zip檔案項,将檔案資料發送到zip輸出流中,完成後再調用closeEntry方法。

壓縮結果:

Java中zip的壓縮和解壓縮

周遊zip檔案中的所有項,并擷取對應項的輸入流,然後通過FileOutputStream輸出到指定目錄中。

解壓縮結果:

Java中zip的壓縮和解壓縮

建立一個檔案系統,包含zip檔案中的所有項。

周遊zip檔案中的所有項,通過檔案通路器SimpleFileVisitor将每個項複制到指定目錄中。