在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
类创建一个输出流,并逐个读取并压缩每个文件。最后,在处理完所有文件后,我们关闭输出流。
你可以根据你的需求修改文件名、路径和压缩操作。