【】[zip压缩]将⽂件夹压缩成zip包
将⼀个⽂件夹压缩成⼀个zip包,可应⽤于项⽬⽂件夹打包成zip,⽂件夹过滤了⽬录中的空⽂件夹,因此,空⽂件夹不会被打包到zip包中.
由于本⼈JS知识有限,JAVA也不懂,导致该函数,打包⼤型⽂件时,⾮常慢,性能低下.如果@admin有好的⽅法,可以发⼀下,谢谢.
importClass();
importClass();
importClass();
importClass(putStream);
importClass(tputStream);
importClass(Stream);
importClass(ry);
importClass(putStream);
varsrcPath="/sdcard/脚本/";
varzipFilePath="/sdcard/"
dirToZip(srcPath,zipFilePath);
/**
*将⼀个⽂件夹压缩成zip包
*@param{string}srcDir要压缩的⽂件夹(绝对路径)
*@param{string}out压缩后输出的zip⽂件(绝对路径)
*/
functiondirToZip(srcDir,out){
varzipPath=newFileOutputStream(newFile(out));
varpath=newFile(srcDir);
varsrcDirParent=ent();
varstart=tTimeMillis();
varzos=null;
try{
zos=newZipOutputStream(zipPath);
varsourceFile=newFile(srcDir);
compress(sourceFile,zos,e());
varend=tTimeMillis();
log("压缩完成,耗时:"+(end-start)+"ms");
}catch(e){
throw("ziperrorfromZipUtils"+e);
}finally{
if(zos!=null){
try{
();
}catch(e){
log(e);
}
}
}
functioncompress(sourceFile,zos,name){
if((sourceFile)){
tEntry(newZipEntry(name));
varlen;
varput=newFileInputStream(sourceFile);
while((len=())!=-1){
(len);
}
ntry();
();
}el{
varlistFiles=getListFilePath(sourceFile);
for(letiinlistFiles){
varfileName=newFile(listFiles[i]);
compress(listFiles[i],zos,ent().split(srcDirParent)[1]+"/"+e());
}
}
}
}
functiongetListFilePath(i){
i=ng();
functionr(i){
vare=r(i);
for(varsine){
if("/"==(-1))vara=i+e[s];elvara=i+"/"+e[s];
(a)?r(a):(a);
}
}
vart=[];
returnr(i),t;
}
}
//解压zip⽂件
(("解压zip⽂件的路径"),("要把zip解压到某个⽂件夹的路径"));
本文发布于:2023-03-06 14:04:16,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678082656158339.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:怎么压缩文件包.doc
本文 PDF 下载地址:怎么压缩文件包.pdf
留言与评论(共有 0 条评论) |