Java生成zip压缩包

import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;import org.apache.commons.compress.utils.IOUtils; import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;
public class ZipFolderExample {
public static void main(String[] args) {
String sourceFolderPath = “path/to/source/folder”;
String zipFilePath = “path/to/destination/zipfile.zip”;
try {
FileOutputStream fos = new FileOutputStream(zipFilePath); ZipArchiveOutputStream zos = new ZipArchiveOutputStream(fos); File sourceFolder = new File(sourceFolderPath); addFolderToZip(sourceFolder, sourceFolder.getName(), zos); zos.flush();
zos.close();
fos.flush();
fos.close();
System.out.println(“Folder zipped successfully!”);
} catch (IOException e) {
e.printStackTrace();
}
}
private static void addFolderToZip(File folder, String parentFolderName, ZipArchiveOutputStream zos) throws IOException { File[] files = folder.listFiles();
for (File file : files) {
if (file.isDirectory()) {
addFolderToZip(file, parentFolderName + “/” + file.getName(), zos);
continue; }
FileInputStream fis = new FileInputStream(file); ZipArchiveEntry zipEntry = new ZipArchiveEntry(parentFolderName + “/” + file.getName());
zos.putArchiveEntry(zipEntry); IOUtils.copy(fis, zos);
zos.closeArchiveEntry();
fis.close();
}
}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值