Android实现文件或文件夹压缩成.zip格式压缩包
本文实例为大家分享了Android压缩文件和文件夹的方法,供大家参考,具体内容如下
/**
*压缩文件和文件夹
*
*@paramsrcFileString要压缩的文件或文件夹
*@paramzipFileString压缩完成的Zip路径
*@throwsException
*/
publicstaticvoidZipFolder(StringsrcFileString,StringzipFileString)throwsException{
//创建ZIP
ZipOutputStreamoutZip=newZipOutputStream(newFileOutputStream(zipFileString));
//创建文件
Filefile=newFile(srcFileString);
//压缩
LogUtils.LOGE("---->"+file.getParent()+"==="+file.getAbsolutePath());
ZipFiles(file.getParent()+File.separator,file.getName(),outZip);
//完成和关闭
outZip.finish();
outZip.close();
}
/**
*压缩文件
*
*@paramfolderString
*@paramfileString
*@paramzipOutputSteam
*@throwsException
*/
privatestaticvoidZipFiles(StringfolderString,StringfileString,ZipOutputStreamzipOutputSteam)throwsException{
LogUtils.LOGE("folderString:"+folderString+"\n"+
"fileString:"+fileString+"\n==========================");
if(zipOutputSteam==null)
return;
Filefile=newFile(folderString+fileString);
if(file.isFile()){
ZipEntryzipEntry=newZipEntry(fileString);
FileInputStreaminputStream=newFileInputStream(file);
zipOutputSteam.putNextEntry(zipEntry);
intlen;
byte[]buffer=newbyte[4096];
while((len=inputStream.read(buffer))!=-1){
zipOutputSteam.write(buffer,0,len);
}
zipOutputSteam.closeEntry();
}else{
//文件夹
StringfileList[]=file.list();
//没有子文件和压缩
if(fileList.length<=0){
ZipEntryzipEntry=newZipEntry(fileString+File.separator);
zipOutputSteam.putNextEntry(zipEntry);
zipOutputSteam.closeEntry();
}
//子文件和递归
for(inti=0;i
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。