在Java中可以使用ZipOutputStream和ZipInputStream來實作zip的壓縮和解壓縮操作,另外使用FileSystem也可以用來實作zip的解壓縮,下面将介紹這幾種方式,直接上代碼。
待壓縮檔案目錄結構:
每個zip檔案項都要對應一個ZipEntry,然後通過ZipOutputStream的putNextEntry方法開始寫入一個新的zip檔案項,将檔案資料發送到zip輸出流中,完成後再調用closeEntry方法。
壓縮結果:
周遊zip檔案中的所有項,并擷取對應項的輸入流,然後通過FileOutputStream輸出到指定目錄中。
解壓縮結果:
建立一個檔案系統,包含zip檔案中的所有項。
周遊zip檔案中的所有項,通過檔案通路器SimpleFileVisitor将每個項複制到指定目錄中。