顯示具有 decompression 標籤的文章。 顯示所有文章
顯示具有 decompression 標籤的文章。 顯示所有文章

2010-06-03

利用 Java 將 Zip 格式解壓縮 (Use Java to decompress a ZIP file)

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

public static void decompress(File source, File destination) throws IOException{
    if (!destination.exists() || destination.isDirectory()){
        destination.mkdirs();
        ZipInputStream zis = new ZipInputStream(new FileInputStream(source));
        byte[] buffer = new byte[1024];
        for (ZipEntry zip; (zip = zis.getNextEntry()) != null;){
            File file = new File(destination, zip.getName());
            if (zip.isDirectory()){
                file.mkdirs();
            } else {
                FileOutputStream fos = new FileOutputStream(file);
                for (int length; (length = zis.read(buffer)) > 0;){
                    fos.write(buffer, 0, length);
                }
                fos.close();
            }
            zis.closeEntry();
        }
        zis.close();
    }
}