91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java unzip怎樣解壓到特定目錄

小樊
85
2024-07-20 19:06:57
欄目: 編程語言

要將文件解壓到特定目錄,可以使用Java中的ZipInputStream和ZipEntry類來實現。以下是一個簡單的示例代碼來展示如何將zip文件解壓到特定目錄:

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

public class UnzipFile {

    public static void main(String[] args) {
        String zipFilePath = "path/to/zipfile.zip";
        String destDirectory = "path/to/destination/directory";

        unzip(zipFilePath, destDirectory);
    }

    public static void unzip(String zipFilePath, String destDirectory) {
        byte[] buffer = new byte[1024];

        try (ZipInputStream zipInputStream = new ZipInputStream(UnzipFile.class.getResourceAsStream(zipFilePath))) {
            ZipEntry entry = zipInputStream.getNextEntry();

            while (entry != null) {
                String filePath = destDirectory + File.separator + entry.getName();
                if (!entry.isDirectory()) {
                    new File(filePath).getParentFile().mkdirs();
                    try (FileOutputStream fos = new FileOutputStream(filePath)) {
                        int len;
                        while ((len = zipInputStream.read(buffer)) > 0) {
                            fos.write(buffer, 0, len);
                        }
                    }
                } else {
                    new File(filePath).mkdirs();
                }
                zipInputStream.closeEntry();
                entry = zipInputStream.getNextEntry();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例代碼中,我們首先指定了要解壓的zip文件路徑和目標目錄路徑。然后,我們使用ZipInputStream類逐個讀取zip文件中的條目,并將其解壓到目標目錄中。如果條目是一個文件,我們創建一個文件輸出流并將數據寫入到文件中;如果是一個目錄,我們創建一個相應的目錄。最后,我們關閉ZipInputStream并處理可能的異常。

請注意,上述代碼中的路徑是相對于當前Java類的classpath的。如果zip文件位于磁盤上的某個位置,可以使用FileInputStream替換ZipInputStream。

0
利辛县| 朝阳县| 商水县| 九龙县| 仲巴县| 图们市| 平江县| 上饶县| 河东区| 贵南县| 曲沃县| 安达市| 宣威市| 乐至县| 大同市| 石屏县| 万全县| 紫金县| 五家渠市| 郓城县| 墨脱县| 额敏县| 黑龙江省| 罗山县| 昌乐县| 宣汉县| 万盛区| 华蓥市| 恩施市| 新邵县| 云和县| 前郭尔| 罗甸县| 福清市| 科技| 会东县| 巴林左旗| 岗巴县| 惠安县| 宣汉县| 武川县|