亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

java gzip如何壓縮文件夾

小億
86
2024-09-26 03:33:06
欄目: 編程語言

在Java中,你可以使用java.util.zip包中的類來壓縮文件夾。以下是一個示例代碼,展示了如何壓縮一個文件夾:

import java.io.*;
import java.nio.file.*;
import java.util.zip.*;

public class FolderGzip {
    public static void main(String[] args) {
        String folderToZip = "/path/to/folder";
        String zipFilePath = "/path/to/output.zip";

        try {
            compressFolder(folderToZip, zipFilePath);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void compressFolder(String folderPath, String zipFilePath) throws IOException {
        // 創建一個文件輸出流,寫入ZIP文件
        FileOutputStream fos = new FileOutputStream(zipFilePath);

        // 創建一個ZIP輸出流,寫入到文件輸出流中
        ZipOutputStream zos = new ZipOutputStream(fos);

        // 獲取文件夾中的所有文件和子文件夾
        Path rootPath = Paths.get(folderPath);
        Files.walk(rootPath)
             .filter(path -> !Files.isDirectory(path))
             .forEach(path -> {
                 try {
                     // 創建一個ZIP條目,使用相對路徑
                     ZipEntry zipEntry = new ZipEntry(rootPath.relativize(path).toString());
                     zos.putNextEntry(zipEntry);

                     // 讀取文件內容并將其寫入ZIP輸出流
                     try (InputStream fis = Files.newInputStream(path)) {
                         byte[] buffer = new byte[1024];
                         int bytesRead;
                         while ((bytesRead = fis.read(buffer)) != -1) {
                             zos.write(buffer, 0, bytesRead);
                         }
                     }

                     // 關閉ZIP條目,完成對該文件的壓縮
                     zos.closeEntry();
                 } catch (IOException e) {
                     e.printStackTrace();
                 }
             });

        // 關閉ZIP輸出流和文件輸出流
        zos.close();
        fos.close();
    }
}

在這個示例中,compressFolder方法接受要壓縮的文件夾路徑和輸出的ZIP文件路徑。它使用java.nio.file.Files.walk方法遍歷文件夾中的所有文件和子文件夾,并使用java.util.zip.ZipOutputStream將它們添加到ZIP文件中。

0
蒙山县| 宝丰县| 边坝县| 芮城县| 曲阳县| 沐川县| 石景山区| 浮梁县| 南丰县| 禄丰县| 沁水县| 建宁县| 宁明县| 黄平县| 神池县| 政和县| 寿光市| 隆子县| 深圳市| 商水县| 江陵县| 罗源县| 黔西| 西和县| 阳信县| 塔河县| 措勤县| 固始县| 咸阳市| 齐齐哈尔市| 海口市| 克什克腾旗| 沛县| 潜江市| 思南县| 南皮县| 淮南市| 自贡市| 紫阳县| 连山| 台北市|