文件夹压缩

更新时间:2023-03-03 16:54:15 阅读: 评论:0

60d-人像镜头

文件夹压缩
2023年3月3日发(作者:车辆年检新规)

使用ZIPEntry类压缩/解压文件夹

先从网上下载类库

ZipOutputStream:压缩,zip文件

ZipEntry对象:

/结尾:文件夹:aa/

没有/结尾:文件

ZipInputStream:解压:

读取的每一个元素都是zipEntry类的对象。

利用ZipEntry类的属性:isDirectory判断是否为文件夹

ZipEntry类--ssZipEntry

stants,Cloneable

此类代表一个Zip文件实体(项)

构建器

publicZipEntry(String?name):用特殊的名字来创建一个新的zip对象(不能使用中文)

publicZipEntry(ZipEntry?e):用另外一个实体对象来创建新的实体对象

实例方法

publicStringgetComment():得到此实体的注释,没有则返回null

范例:

publicbooleanisDirectory():判断是否是一个目录实体,即是否是目录,系统将依靠此zip实体

的名字中是否以一个/结束来做判断,有,则是目录,没有,则不是目录

publicStringtoString():返回代表Zip实体的字符串表示

publiclonggetCompresdSize():得到此实体的压缩后的大小,返回-1表示未知

publicStringgetName():得到实体的名字

publicvoidtTime(long?time):设置此实体修改的时间,时间从纪元开始到修改时间的毫

秒数字

publiclonggetTime():得到此实体修改的时间

publicvoidtSize(long?size):设定该实体的字节大小

publiclonggetSize():得到此实体的大小

publicvoidtCrc(long?crc):设置该实体的校验和

publiclonggetCrc():得到该实体的校验和

1、压缩文件夹

ums;

;

;

;

privatevoidbutton1_Click(objectnder,EventArg)

{

ZipFile("E:ziptest","E:");

}

publicvoidZipFile(stringstrFile,stringstrZip)

{

if(strFile[-1]!=orySeparatorChar)

strFile+=orySeparatorChar;

ZipOutputStreams=newZipOutputStream((strZip));

el(6);

//0-storeonlyto9-meansbestcompression

zip(strFile,s,strFile);

();

();

}

privatevoidzip(stringstrFile,ZipOutputStreams,stringstaticFile)

{

if(strFile[-1]!=orySeparatorChar)strFile+=

orySeparatorChar;

Crc32crc=newCrc32();

string[]filenames=eSystemEntries(strFile);

foreach(stringfileinfilenames)

{

if((file))

{zip(file,s,staticFile);}

el//否则直接压缩文件

{//打开压缩文件

FileStreamfs=ad(file);

byte[]buffer=newbyte[];

(buffer,0,);

stringtempfile=ing(dexOf("")+1);

ZipEntryentry=newZipEntry(tempfile);

me=;

=;

();

();

(buffer);

=;

tEntry(entry);

(buffer,0,);

}

}

}

2、解压

stringunZipFile(stringTargetFile,stringfileDir)

{

stringrootFile="";

try

{

//读取压缩文件(zip文件),准备解压缩

ZipInputStreams=newZipInputStream(ad(()));

ZipEntrytheEntry;

stringpath=fileDir;

//解压出来的文件保存的路径

stringrootDir="";

//根目录下的第一个子文件夹的名称

while((theEntry=tEntry())!=null)

{

rootDir=ectoryName();

//得到根目录下的第一级子文件夹的名称

if(f("")>=0)

{

rootDir=ing(0,f("")+1);

}

stringdir=ectoryName();

//根目录下的第一级子文件夹的下的文件夹的名称

stringfileName=eName();

//根目录下的文件名称

if(dir!="")

//创建根目录下的子文件夹,不限制级别

{

if(!(fileDir+""+dir))

{

path=fileDir+""+dir;

//在指定的路径创建文件夹

Directory(path);

}

}

elif(dir==""&&fileName!="")

//根目录下的文件

{

path=fileDir;

rootFile=fileName;

}

elif(dir!=""&&fileName!="")

//根目录下的第一级子文件夹下的文件

{

if(f("")>0)

//指定文件保存的路径

{

path=fileDir+""+dir;

}

}

if(dir==rootDir)

//判断是不是需要保存在根目录下的文件

{

path=fileDir+""+rootDir;

}

//以下为解压缩zip文件的基本步骤

//基本思路就是遍历压缩文件里的所有文件,创建一个相同的文件。

if(fileName!=)

{

FileStreamstreamWriter=(path+""+fileName);

intsize=2048;

byte[]data=newbyte[];

while(true)

{

size=(data,0,);

if(size>0)

{

(data,0,);

}

el

{

break;

}

}

();

}

}

();

returnrootFile;

}

catch(Exceptionex)

{

return"1;"+e;

}

}

}

如果是单个文件的压缩/解压一般使用gzipstream类,参见使用GZipStream类将文件压缩/

解压到指定路径

本文发布于:2023-03-03 16:54:14,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1677833655125354.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:文件夹压缩.doc

本文 PDF 下载地址:文件夹压缩.pdf

上一篇:行动不便
下一篇:返回列表
标签:文件夹压缩
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 站长QQ:55-9-10-26 专利检索|