惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
Cisco Blogs
Scott Helme
Scott Helme
Know Your Adversary
Know Your Adversary
NISL@THU
NISL@THU
C
Cyber Attacks, Cyber Crime and Cyber Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Schneier on Security
I
Intezer
Spread Privacy
Spread Privacy
AWS News Blog
AWS News Blog
V
Vulnerabilities – Threatpost
Cloudbric
Cloudbric
V2EX - 技术
V2EX - 技术
Google Online Security Blog
Google Online Security Blog
L
Lohrmann on Cybersecurity
Recent Commits to openclaw:main
Recent Commits to openclaw:main
L
LINUX DO - 热门话题
S
Secure Thoughts
T
The Exploit Database - CXSecurity.com
博客园 - 【当耐特】
Recent Announcements
Recent Announcements
Security Archives - TechRepublic
Security Archives - TechRepublic
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
K
Kaspersky official blog
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
Latest news
Latest news
B
Blog
F
Full Disclosure
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
L
LangChain Blog
GbyAI
GbyAI
Last Week in AI
Last Week in AI
S
Security Affairs
Apple Machine Learning Research
Apple Machine Learning Research
N
Netflix TechBlog - Medium
Security Latest
Security Latest
Vercel News
Vercel News
Y
Y Combinator Blog
G
GRAHAM CLULEY
S
Securelist
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
雷峰网
雷峰网

博客园 - Asharp

使用PowerShell批量修改项目文件的版本号 PowerShell因为在此系统中禁止执行脚本解决方法 .NET中zip的压缩和解压——SharpCompress 【转】Face detection with getUserMedia 【转】Web实现音频、视频通信 【转】关于IPv6的六大误区:IPv6并非更安全 【转】Silverlight与Flex的比较选择 [转]12 很有用的 Chrome 浏览器命令 How to Set Up SSL on IIS 7 JavaScript实现md5加密 在64位系统32的.net应用程序出现CLR20R3错误 【转】CLR20R3 程序终止的几种解决方案 【转】ASPxGridView 日期范围过滤扩展 DevExpress的web.config配置 DevExpress的JavaScript脚本智能提示 加载托管C++程序集出现0x800736B1异常的解决方法 Exchange server 2007安装篇 使用Orca在Visual Studio安装项目中创建自定义对话框 Visual Assist X中文注释提示错误问题
.NET中zip的压缩和解压
Asharp · 2012-05-28 · via 博客园 - Asharp

      在.NET可以通过多种方式实现zip的压缩和解压:1、使用System.IO.Packaging;2、使用第三方类库;3、通过 System.IO.Compression 命名空间中新增的ZipArchive、ZipFile等类实现。

     一、使用System.IO.Packaging压缩和解压

     Package为一个抽象类,可用于将对象组织到定义的物理格式的单个实体中,从而实现可移植性与高效访问。ZIP 文件是Package的主物理格式。 其他Package实现可以使用其他物理格式(如 XML 文档、数据库或 Web 服务。与文件系统类似,在分层组织的文件夹和文件中引用 Package 中包含的项。虽然 Package 是抽象类,但 Package.Open 方法默认使用 ZipPackage 派生类。

    System.IO.Packaging在WindowsBase.dll程序集下,使用时需要添加对WindowsBase的引用。

    1、将整个文件夹压缩成zip

Code

      2、将单个文件添加到zip文件中

Code

       3、zip文件解压

Code

      使用Package压缩文件会在zip文件自动生成[Content_Type].xml,用来描述zip文件解压支持的文件格式。

Code

      同样,如果zip文件不包含[Content_Type].xml文件,或者[Content_Type].xml文件不包含所对应扩展名的描述(手动添加的[Content_Type].xml也是可以),将无法解压文件。

      二、使用第三方类库

      zip的压缩和解压使用比较的有SharpZipLibDotNetZip

      1、SharpZipLib,也称为“#ziplib”,基于GPL开源,支持Zip,GZip,Tar和BZip2的压缩和解压缩。

      支持.NET 1.1,NET 2.0(3.5、4.0).

      (1)zip压缩

Code

       (2)解压zip

Code

      2、DotNetLib,是基于”WS-PL”开源,使用比较简单
     (1)压缩

Code

     (2)解压

Code

    三、在.NET 4.5使用ZipArchive、ZipFile等类压缩和解压

Code