中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java怎么實現多個文件壓縮成zip

小億
81
2024-11-22 14:41:15
欄目: 編程語言

在Java中,可以使用java.util.zip包中的類來實現多個文件的壓縮。以下是一個簡單的示例,演示如何將多個文件壓縮成一個ZIP文件:

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.ZipOutputStream;

public class ZipMultipleFiles {

    public static void main(String[] args) {
        // 要壓縮的文件列表
        String[] filesToZip = {"file1.txt", "file2.txt", "file3.txt"};
        // 壓縮后的ZIP文件名
        String zipFileName = "compressedFiles.zip";

        try {
            // 創建一個ZIP文件輸出流
            FileOutputStream fos = new FileOutputStream(zipFileName);
            // 創建一個ZIP輸出流
            ZipOutputStream zos = new ZipOutputStream(fos);

            // 遍歷要壓縮的文件列表
            for (String filePath : filesToZip) {
                // 創建一個File對象
                File file = new File(filePath);
                // 如果文件不存在,跳過
                if (!file.exists()) {
                    System.out.println("文件不存在: " + filePath);
                    continue;
                }
                // 創建一個ZIP條目
                ZipEntry zipEntry = new ZipEntry(file.getName());
                // 將ZIP條目添加到ZIP輸出流
                zos.putNextEntry(zipEntry);

                // 創建一個文件輸入流
                FileInputStream fis = new FileInputStream(file);
                // 讀取文件內容并寫入ZIP輸出流
                byte[] buffer = new byte[1024];
                int bytesRead;
                while ((bytesRead = fis.read(buffer)) != -1) {
                    zos.write(buffer, 0, bytesRead);
                }
                // 關閉文件輸入流
                fis.close();
                // 移除ZIP條目
                zos.removeEntry();
            }

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

            System.out.println("文件已成功壓縮到: " + zipFileName);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

這個示例中,我們首先創建了一個FileOutputStream對象,用于寫入ZIP文件。然后,我們創建了一個ZipOutputStream對象,用于將文件添加到ZIP文件中。接下來,我們遍歷要壓縮的文件列表,為每個文件創建一個ZipEntry對象,并將其添加到ZIP輸出流中。我們使用FileInputStream讀取文件內容,并將其寫入ZIP輸出流。最后,我們關閉所有流以完成壓縮操作。

0
麦盖提县| 报价| 道真| 达日县| 沾化县| 寻甸| 临潭县| 西昌市| 贵定县| 双辽市| 鄂托克旗| 彩票| 富阳市| 桃园市| 山阴县| 十堰市| 阳山县| 县级市| 黑龙江省| 龙岩市| 泰顺县| 常宁市| 上犹县| 新野县| 上栗县| 桐乡市| 安塞县| 汉阴县| 阳朔县| 沈丘县| 鄂托克旗| 永清县| 布拖县| 蒙城县| 延边| 怀远县| 轮台县| 沾化县| 嘉黎县| 兰西县| 通山县|