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

溫馨提示×

multipartfile的zip如何解壓

小億
228
2023-12-22 11:58:57
欄目: 編程語言

要解壓一個 MultipartFile(MultipartFile 是 Spring 框架中的類,用于處理上傳的文件),你可以使用 java.util.zip.ZipInputStream 類。以下是一個解壓 MultipartFile 的 zip 文件的示例代碼:

import org.springframework.web.multipart.MultipartFile;

import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

public class ZipFileUtil {

    public static void unzip(MultipartFile file, String destination) throws IOException {
        try (ZipInputStream zipInputStream = new ZipInputStream(file.getInputStream())) {
            byte[] buffer = new byte[1024];
            ZipEntry zipEntry = zipInputStream.getNextEntry();
            while (zipEntry != null) {
                String fileName = zipEntry.getName();
                File newFile = new File(destination + File.separator + fileName);
                if (zipEntry.isDirectory()) {
                    newFile.mkdirs();
                } else {
                    // 如果父目錄不存在,則創建父目錄
                    File parent = newFile.getParentFile();
                    if (!parent.exists()) {
                        parent.mkdirs();
                    }
                    try (FileOutputStream fos = new FileOutputStream(newFile)) {
                        int length;
                        while ((length = zipInputStream.read(buffer)) > 0) {
                            fos.write(buffer, 0, length);
                        }
                    }
                }
                zipEntry = zipInputStream.getNextEntry();
            }
        }
    }
}

這個 unzip 方法會將 zip 文件解壓到指定的目標路徑 destination。你只需要傳入一個 MultipartFile 對象和目標路徑即可。注意,你需要處理 IOException 異常。

示例用法:

import org.springframework.web.multipart.MultipartFile;

public class Main {

    public static void main(String[] args) {
        MultipartFile file = ...; // 獲取上傳的 MultipartFile 對象
        String destination = "C:\\path\\to\\destination"; // 指定解壓路徑
        try {
            ZipFileUtil.unzip(file, destination);
            // 解壓成功
        } catch (IOException e) {
            e.printStackTrace();
            // 解壓失敗
        }
    }
}

請確保你已經導入相應的依賴,例如 spring-webcommons-io

1
滨州市| 祁东县| 梁平县| 台北县| 卢龙县| 大城县| 大渡口区| 丰都县| 永州市| 太仓市| 金昌市| 嘉峪关市| 遂川县| 曲水县| 广平县| 伊川县| 南华县| 贡山| 长丰县| 乐平市| 云和县| 龙川县| 铜梁县| 扶沟县| 襄樊市| 闸北区| 台安县| 鄯善县| 海原县| 钟山县| 温州市| 和平区| 思茅市| 阳谷县| 苗栗市| 高密市| 牡丹江市| 林芝县| 灌南县| 泸西县| 安义县|