C# ZIP 压缩解压
ZIP流是在NetFramework4.5 引入的目的是为了能够更好的操作ZIP文件,进行压缩解压等操作。与ZIP流相关的几个类是:
- ZipArchive 代表一个ZIP的压缩包文件
- ZipArchiveEntry 代表ZIP压缩包中的一个文件
- ZipFile 提供了一系列的静态方法来帮助用户更方便地操作ZIP文件,类似于File类的作用。
注意:在使用之前请先添加程序集引用System.IO.Compression与System.IO.Compression.FileStream
/// <summary>
/// 测试
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnZIP_Click(object sender, EventArgs e)
{
ZIPYS();
ZIPJY();
}
/// <summary>
/// 创建压缩zip文档
/// </summary>
private void ZIPYS()
{
using (FileStream fs = new FileStream("Zip123.zip", FileMode.Create))
{
using (ZipArchive zipArchive = new ZipArchive(fs, ZipArchiveMode.Create))
{
//创建文档文件
ZipArchiveEntry entry = zipArchive.CreateEntry("HelloWorld.txt");
//文档文件写入内容
using (StreamWriter writer = new StreamWriter(entry.Open(), Encoding.Default))
{
writer.Write("I am 鲁迅认识的那只猹! Hello World");
}
}
}
}
/// <summary>
/// 解压zip文档
/// </summary>
private void ZIPJY()
{
using (FileStream fs = new FileStream("log.zip", FileMode.Open))
{
using (ZipArchive zipArchive = new ZipArchive(fs, ZipArchiveMode.Update))
{
//创建存放解压文件目录
Directory.CreateDirectory("log123");
//解压所有文档文件
foreach (var it in zipArchive.Entries)
{
it.ExtractToFile(@"log123\" + it.Name);
}
}
}
}
/// <summary>
/// 向zip文档中添加文档
/// </summary>
private void ZIPYStj()
{
using (FileStream fs = new FileStream("Zip123.zip", FileMode.Open))
{
using (ZipArchive zipArchive = new ZipArchive(fs, ZipArchiveMode.Update))
{
ZipArchiveEntry entry = zipArchive.CreateEntry("AppendFile.txt");
using (StreamWriter wr = new StreamWriter(entry.Open(), Encoding.Default))
{
wr.Write("追加内容123!");
}
}
}
}
ZipFile
| 方法 | 解释 |
|---|---|
| FileZip.CreateFromDirectory | 从一个目录创建ZIP压缩文件 |
| FileZip.ExtractToDirectory | 将ZIP压缩文件解压到目录中 |
| FileZip.Open | 打开一个ZIP压缩文件 |
| FileZip.OpenRead | 打开一个读取模式的ZIP压缩文件 |
ZipFileExtensions
ZipFileExtensions 为ZipArchive 和 ZipArchiveEntry 提供了一些更简便的方法,具体可以查看官方文档
原文链接:https://www.cnblogs.com/slyfox/p/11231375.html
C# ZIP 压缩解压的更多相关文章
- linux查看文件夹大小,备份文件夹zip压缩解压
linux查看文件夹大小,备份文件夹zip压缩解压 du -sh : 查看当前目录总共占的容量.而不单独列出各子项占用的容量 du -lh --max-depth=1 : 查看当前目录下一级子文件和子 ...
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...
- C#实现Zip压缩解压实例【转】
本文只列举一个压缩帮助类,使用的是有要添加一个dll引用ICSharpCode.SharpZipLib.dll[下载地址]. 另外说明一下的是,这个类压缩格式是ZIP的,所以文件的后缀写成 .zip. ...
- C#实现多级子目录Zip压缩解压实例
参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩,类似winrar,可以选择 ...
- C#实现Zip压缩解压实例
原文地址:https://www.cnblogs.com/GoCircle/p/6544678.html 本文只列举一个压缩帮助类,使用的是有要添加一个dll引用ICSharpCode.SharpZi ...
- zip压缩解压
zip在linux中使用相对不太频繁,但是在window中使用频繁! zip参数 -q //不显示指令的执行过程,静默执行-r //递归处理文件-T //检测zip文件是否可用-u //更新文件,根据 ...
- (转载)C#压缩解压zip 文件
转载之: C#压缩解压zip 文件 - 大气象 - 博客园http://www.cnblogs.com/greatverve/archive/2011/12/27/csharp-zip.html C# ...
- linux命令:压缩解压命令
压缩解压命令:gzip 命令名称:gzip 命令英文原意:GNU zip 命令所在路径:/bin/gzip 执行权限:所有用户 语法:gzip 选项 [文件] 功能描述:压缩文件 压缩后文件格式:g ...
- linux 压缩 解压zip 命令
将当前目录下的所有文件和文件夹全部压缩成test.zip文件,-r表示递归压缩子目录下所有文件zip -r test.zip ./* 打包目录zip test2.zip test2/*解压test.z ...
随机推荐
- 阿里云服务器远程连接错误:由于一个协议错误(代码:0x112f),远程会话将被中断。
2019年10月,阿里云服务器远程连接忽然无法登录.当时正在清理c盘空间,C盘只剩下30+M,忽然远程桌面掉线,以为断网了,再次远程桌面连接时,就出现一下错误. 解决方案:万能的重启!!!具体错误原因 ...
- 解决 Jumpserver coco 使用登录用户(ldap)进行SSH连接目标主机,忽略系统用户
前言 Jumpserver 作为国内流行的开源堡垒机,很多公司都在尝试使用,同时 Jumpserver 为了契合众多公司的用户认证,也提供了 LDAP 的用户认证方式,作为 Jumpserver 的用 ...
- kubernetes-使用Calico配置NetworkPolicy
安装网络插件Calico 先下载好yml,因为我的虚拟机地址(192.168.17.180)在192.168.0.0/16网段中 所以要修改 wget https://docs.projectcali ...
- [ipsec][strongswan]strongswan源码分析--(零)引子
目录 strongswan sa 资料 编译 启动 进程信息 结构 架构图与插件 配置运行 传统配置方法 新的配置方法 其他配置方法 详细的配置文档 配置示例 用法 加密库 libgmp libcry ...
- Linux中通过ssh将客户端与服务端的远程连接
前提需要:1.在VMware中装上两台linux虚拟机,本博客使用的都是CentOS 7.2.两部虚拟机可以通过命令ping通.3.两部虚拟机中已经通过yum本地仓库安装了sshd服务. 首先 1. ...
- 使用Cloudera Manager搭建MapReduce集群及MapReduce HA
使用Cloudera Manager搭建MapReduce集群及MapReduce HA 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.通过CM部署MapReduce On ...
- Django分表操作、聚合及FQ方法
聚合 aggregate(*args, **kwargs) # 计算所有图书的平均价格 from django.db.models import Avg Book.objects.all().aggr ...
- 使用Visual Studio快速开发STM32F4-Discovery探索板入门
本本将主要介绍如何使用Visual Studio创建一个基于STM32F4-Discovery探索板的简单工程. 本文使用以下硬件和软件: ● Microsoft Visual Studio ...
- OpenStack是什么,OpenStack详解
1. OpenStack是什么 OpenStack官方的解释很官方,而且从不同角度,也有不同的理解,OpenStack可以理解为一个云操作系统 OpenStack旗下包含了一组由社区维护的开源项目,他 ...
- APS实现的要点与难点
在前一篇关于文章中讨论了不同层级.粒度的生产计划,在各行业中受重视程度的差异问题. 承蒙大家热烈讨论.本文则在收集各方高见的基础上,对于供应链上各个环节的运营.生产计划再作稍微深入一点的探讨.本文将列 ...