Java如何对resources下的一个文件夹进行压缩,将其压缩为压缩包
2条回答 默认 最新
一直免费一直爽 2024-08-15 13:35关注以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
要将resources下的文件夹压缩成包,可以使用Java的
java.util.zip包中的类。以下是一个示例代码,展示了如何将resources下的文件夹压缩为ZIP文件:import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class ZipFolder { public static void main(String[] args) { String sourceFolder = "resources/your_folder"; // 替换为你要压缩的文件夹路径 String zipFile = "resources/your_folder.zip"; // 替换为你要生成的压缩文件路径 try { zipFolder(sourceFolder, zipFile); } catch (IOException e) { e.printStackTrace(); } } public static void zipFolder(String sourceFolder, String zipFile) throws IOException { FileOutputStream fos = new FileOutputStream(zipFile); ZipOutputStream zos = new ZipOutputStream(fos); File fileToZip = new File(sourceFolder); zipFile(fileToZip, fileToZip.getName(), zos); zos.close(); fos.close(); } private static void zipFile(File fileToZip, String fileName, ZipOutputStream zos) throws IOException { if (fileToZip.isHidden()) { return; } if (fileToZip.isDirectory()) { if (fileName.endsWith("/")) { zos.putNextEntry(new ZipEntry(fileName)); zos.closeEntry(); } else { zos.putNextEntry(new ZipEntry(fileName + "/")); zos.closeEntry(); } File[] children = fileToZip.listFiles(); for (File childFile : children) { zipFile(childFile, fileName + "/" + childFile.getName(), zos); } return; } FileInputStream fis = new FileInputStream(fileToZip); ZipEntry zipEntry = new ZipEntry(fileName); zos.putNextEntry(zipEntry); byte[] bytes = new byte[1024]; int length; while ((length = fis.read(bytes)) >= 0) { zos.write(bytes, 0, length); } fis.close(); } }请将
sourceFolder变量替换为你要压缩的文件夹路径,将zipFile变量替换为你要生成的压缩文件路径。运行此代码后,resources下的文件夹将被压缩为一个ZIP文件。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报