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();
}
}}
Java生成zip压缩包
最新推荐文章于 2025-05-25 16:35:03 发布