【C#】实用小技巧分享:读取压缩包中的文本信息

实现一个不需要将压缩包解压后读取或加密读取压缩包中文本信息的功能。

1.网上下载一个 ICSharpCode.SharpZipLib.dll,引用至C#的项目中。

【C#】实用小技巧分享:读取压缩包中的文本信息_第1张图片

2.using ICSharpCode.SharpZipLib.Zip 后创建一个ZipFile对象获取压缩包的信息,对象的构造参数是当前压缩包所在的文件夹路径。

3. 调用ZipFile类中的GetEntry方法创建一个ZipEntry对象获取压缩中指定文本文件的信息,方法的参数是当前压缩包中指定的文本文件的名称。

4.调用ZipFile类中的GetInputStream方法,将该压缩包中的指定文本文件转为流,方法参数是ZipFile类文本文件。

5.新建StreamReader类读取流,将当前转换为流的ZipEntry文本文件作为参数传入构造函数中,Encoding参数为UTF8,如果读取后出现乱码可使用其他类型尝试。最后返回对应字符串即可完成压缩包文件的读取。【C#】实用小技巧分享:读取压缩包中的文本信息_第2张图片

6.实现效果展示:

左为代码所要读取的对应压缩包,右为代码所读取到的压缩包内的lua文本文件,通过流写入了richTextBox控件中。

【C#】实用小技巧分享:读取压缩包中的文本信息_第3张图片

 7.如果读取的压缩包带有密码且密码已知,只需在创建ZipFile对象后给对象变量Password赋值压缩包的密码即可正常打开。

以上就是今天整理的引用ICSharpCode.SharpZipLib.dll读取压缩包文件的方法。除此之外该引用中还有其他实用的方法,如读取压缩包中的文件/向压缩包中新建文件/写入文件,大家可自行探索,这里自己没有做过其他更深入的使用所以就不再说明。

---------------------------------------------------------------------------

入门程序小白的整理,自我总结经验的同时也分享出来给大家,若有说明有误的部分还请指正,多多见谅。

 

你可能感兴趣的:(c#,开发语言,.net,经验分享)