学堂 学堂 学堂公众号手机端

在Java中可以使用ZipOutputStream类来压缩文件夹下的所有文件。以下是一个示例代码

lewis 2年前 (2023-11-09) 阅读数 3 #技术

在Java中可以使用ZipOutputStream类来压缩文件夹下的所有文件。以下是一个示例代码:

importjava.io.*; importjava.util.zip.ZipEntry; importjava.util.zip.ZipOutputStream; publicclassZipFolder{ publicstaticvoidmain(String[]args){ FilefolderToZip=newFile("path/to/folder"); FilezipFile=newFile("path/to/output.zip"); try{ FileOutputStreamfos=newFileOutputStream(zipFile); ZipOutputStreamzos=newZipOutputStream(fos); zipFolder(folderToZip,folderToZip.getName(),zos); zos.close(); fos.close(); }catch(IOExceptione){ e.printStackTrace(); } } privatestaticvoidzipFolder(Filefolder,StringparentFolderName,ZipOutputStreamzos)throwsIOException{ for(Filefile:folder.listFiles()){ if(file.isDirectory()){ zipFolder(file,parentFolderName+"/"+file.getName(),zos); }else{ FileInputStreamfis=newFileInputStream(file); ZipEntryzipEntry=newZipEntry(parentFolderName+"/"+file.getName()); zos.putNextEntry(zipEntry); byte[]buffer=newbyte[1024]; intlength; while((length=fis.read(buffer))>0){ zos.write(buffer,0,length); } fis.close(); zos.closeEntry(); } } } }

在上面的示例中,首先需要指定要压缩的文件夹路径和输出的zip文件路径。然后通过zipFolder方法递归地遍历文件夹下的所有文件,并将它们添加到ZipOutputStream中。最后关闭流来完成压缩过程。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门