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

溫馨提示×

怎么用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
贺州市| 西乌| 青神县| 集安市| 海晏县| 汨罗市| 北宁市| 措勤县| 邳州市| 秦安县| 苍南县| 九寨沟县| 陵川县| 白玉县| 太谷县| 公安县| 汉阴县| 乌什县| 故城县| 诸暨市| 保德县| 家居| 宝坻区| 博乐市| 晴隆县| 那坡县| 长葛市| 阳曲县| 泸西县| 广饶县| 广河县| 绥芬河市| 邯郸县| 来凤县| 西丰县| 那曲县| 无锡市| 同仁县| 芮城县| 鹤峰县| 增城市|