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

溫馨提示×

怎么用java實現壓縮文件

小億
83
2023-10-22 09:11:03
欄目: 編程語言

你可以使用Java的ZipOutputStream類來壓縮文件。下面是一個簡單的例子:

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 ZipFileExample {

    public static void main(String[] args) {
        String sourcePath = "path/to/source/file";
        String zipFilePath = "path/to/zip/file.zip";

        zipFile(sourcePath, zipFilePath);
    }

    public static void zipFile(String sourcePath, String zipFilePath) {
        try {
            File sourceFile = new File(sourcePath);
            FileOutputStream fos = new FileOutputStream(zipFilePath);
            ZipOutputStream zipOut = new ZipOutputStream(fos);

            addFileToZip(sourceFile, zipOut, "");

            zipOut.close();
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void addFileToZip(File file, ZipOutputStream zipOut, String parentDir) throws IOException {
        String path = parentDir + file.getName();
        if (file.isDirectory()) {
            File[] files = file.listFiles();
            for (File nestedFile : files) {
                addFileToZip(nestedFile, zipOut, path + "/");
            }
        } else {
            byte[] buffer = new byte[1024];
            FileInputStream fis = new FileInputStream(file);
            zipOut.putNextEntry(new ZipEntry(path));

            int length;
            while ((length = fis.read(buffer)) > 0) {
                zipOut.write(buffer, 0, length);
            }

            zipOut.closeEntry();
            fis.close();
        }
    }
}

在上述示例中,zipFile()方法接受源文件路徑和目標ZIP文件路徑。它打開源文件,創建一個ZipOutputStream并將源文件添加到壓縮包。

addFileToZip()方法是一個遞歸方法,它將源文件或目錄添加到壓縮包中。如果源文件是目錄,它將遍歷目錄中的所有文件并遞歸調用自身。如果源文件是普通文件,它將讀取文件內容并將其寫入壓縮包中。

請確保將sourcePath替換為要壓縮的文件或目錄的實際路徑,并將zipFilePath替換為要創建的ZIP文件的路徑。

0
永修县| 中西区| 华宁县| 泽普县| 宜兰市| 广丰县| 渭南市| 慈利县| 尖扎县| 昌邑市| 任丘市| 杨浦区| 南宁市| 安义县| 衡东县| 西充县| 沧源| 招远市| 兴海县| 南丹县| 阳朔县| 满洲里市| 赫章县| 黔西县| 平舆县| 崇明县| 呼图壁县| 大新县| 绵阳市| 恩平市| 名山县| 巧家县| 九寨沟县| 依兰县| 东城区| 北川| 资源县| 汝南县| 布尔津县| 新河县| 留坝县|