java多文件压缩zip导出
时间: 2024-09-30 08:11:55 浏览: 37
在Java中,我们可以使用Apache Commons Compress库来实现文件的压缩和解压操作,包括ZIP格式。以下是一个简单的示例,展示如何将多个文件压缩成一个ZIP文件:
```java
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipFileOutputStream;
import java.io.File;
import java.io.FileOutputStream;
public class FileZipper {
public static void zipFiles(String outputFilePath, String... fileNames) throws Exception {
FileOutputStream fos = new FileOutputStream(new File(outputFilePath));
ZipFileOutputStream zos = new ZipFileOutputStream(fos);
for (String fileName : fileNames) {
File fileToZip = new File(fileName);
if (fileToZip.exists()) { // 检查文件是否存在
ZipArchiveEntry archiveEntry = new ZipArchiveEntry(fileToZip.getName());
zos.putArchiveEntry(archiveEntry); // 添加条目到压缩文件
byte[] buffer = new byte[4096];
FileInputStream fis = new FileInputStream(fileToZip);
int len;
while ((len = fis.read(buffer)) > 0) {
zos.write(buffer, 0, len);
}
fis.close();
zos.closeEntry(); // 关闭当前条目
} else {
System.out.println("文件 " + fileName + " 不存在");
}
}
zos.finish(); // 结束压缩
zos.close(); // 关闭流
fos.close(); // 关闭输出流
}
}
```
在这个例子中,你需要提供输出文件路径(outputFilePath)以及要压缩的文件名数组(fileNames)。当你调用`zipFiles`方法时,它会创建一个ZIP文件并将指定的文件添加进去。
阅读全文