在Java中可以使用ZipOutputStream类来压缩文件夹下的所有文件。以下是一个示例代码
在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
中。最后关闭流来完成压缩过程。
版权声明
本文仅代表作者观点,不代表博信信息网立场。
上一篇:
在安装Ubuntu时,您可以选择在磁盘上划分空间 下一篇:Python如果让语句只循环三次