温馨提示×

java中zip怎么压缩多个文件

小亿
102
2024-03-14 16:32:22
栏目: 编程语言

在Java中,你可以使用java.util.zip.ZipOutputStream类来压缩多个文件。以下是一个简单的例子来演示如何压缩多个文件:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class ZipExample {

    public static void main(String[] args) {
        String[] files = {"file1.txt", "file2.txt", "file3.txt"};
        String zipFileName = "compressed.zip";

        try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFileName))) {
            for (String file : files) {
                try (FileInputStream fis = new FileInputStream(file)) {
                    ZipEntry entry = new ZipEntry(file);
                    zos.putNextEntry(entry);

                    byte[] buffer = new byte[1024];
                    int bytesRead;
                    while ((bytesRead = fis.read(buffer)) != -1) {
                        zos.write(buffer, 0, bytesRead);
                    }
                    zos.closeEntry();
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这个例子中,我们首先指定要压缩的多个文件的文件名,并且指定要生成的zip文件名。然后我们使用ZipOutputStream类创建一个输出流,并逐个读取并压缩每个文件。最后,在处理完所有文件后,我们关闭输出流。

你可以根据你的需求修改文件名、路径和压缩操作。

0