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

溫馨提示×

怎么用java壓縮文件夾下所有文件

小億
113
2023-11-04 17:56:30
欄目: 編程語言

你可以使用Java的ZipOutputStream類來壓縮文件夾下的所有文件。以下是一個示例代碼:

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

public class FileCompression {
    public static void main(String[] args) {
        String sourceFolder = "path/to/source/folder";
        String zipFile = "path/to/output/zip/file.zip";

        try {
            FileOutputStream fos = new FileOutputStream(zipFile);
            ZipOutputStream zos = new ZipOutputStream(fos);

            // 壓縮文件夾下的所有文件
            File folder = new File(sourceFolder);
            compressFolder(folder, folder.getName(), zos);

            zos.close();
            fos.close();

            System.out.println("文件夾壓縮完成。");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void compressFolder(File folder, String parentFolder, ZipOutputStream zos) throws IOException {
        for (File file : folder.listFiles()) {
            if (file.isDirectory()) {
                compressFolder(file, parentFolder + "/" + file.getName(), zos);
                continue;
            }

            FileInputStream fis = new FileInputStream(file);
            ZipEntry zipEntry = new ZipEntry(parentFolder + "/" + file.getName());
            zos.putNextEntry(zipEntry);

            byte[] buffer = new byte[1024];
            int length;
            while ((length = fis.read(buffer)) > 0) {
                zos.write(buffer, 0, length);
            }

            fis.close();
        }
    }
}

在上述代碼中,你需要將sourceFolder變量設置為要壓縮的文件夾的路徑,將zipFile變量設置為輸出的壓縮文件的路徑。然后,通過調用compressFolder方法遞歸地壓縮文件夾下的所有文件。壓縮后的文件將保存在zipFile路徑下。

請注意,以上代碼只是一個簡單的示例,可能需要根據你的具體需求進行適當的修改和錯誤處理。

0
镇雄县| 达尔| 宿州市| 崇礼县| 太仆寺旗| 高要市| 红原县| 太康县| 福安市| 本溪市| 秦安县| 丰都县| 东丰县| 呈贡县| 和平区| 安远县| 迁西县| 文成县| 安龙县| 库车县| 河北区| 斗六市| 贵南县| 深水埗区| 定州市| 金华市| 嵊州市| 丰城市| 宁晋县| 麻阳| 荔浦县| 新建县| 巨鹿县| 娄底市| 无为县| 石景山区| 克拉玛依市| 民勤县| 淮南市| 富顺县| 满洲里市|