1、C#实现解压文件(对文件。文件夹zip压缩,解压)
首先C#进行文件解压,压缩须要引入这个几个命名空间
简单快速的使用方式 解压web
ZipFile.ExtractToDirectory("压缩文件", “解压到那个目录下”);
ZipFile.ExtractToDirectory 方法api
重载 | Value |
---|---|
ExtractToDirectory(String, String) | 将指定 zip 存档中的全部文件都解压到文件系统的一目录下。 |
ExtractToDirectory(String, String, Encoding) | 将指定 zip 存档中的全部文件解压缩到文件系统的一目录下并指定的条目名称字 |
ExtractToDirectory(String, String)
参数
sourceArchiveFileName
String
到要解压缩存档的路径。
destinationDirectoryName
String
到放置解压缩文件的目录的路径,指定为相对路径或绝对路径。 相对路径被解释为相对于当前工做目录。
ExtractToDirectory(String, String, Encoding)
参数
sourceArchiveFileName
String
到要解压缩存档的路径。
destinationDirectoryName
String
到放置解压缩文件的目录的路径,指定为相对路径或绝对路径。 相对路径被解释为相对于当前工做目录。
entryNameEncoding
Encoding
在存档中读取或写入项名时使用的编码。 仅当须要针对具备不支持条目名称的 UTF-8 编码的 zip 归档工具和库的互操做性进行编码markdown
//网络请求地址(这是一个压缩文件) string updateZipWeb = "http://192.168.88.53:8067/DB/Update.zip"; //网络请求后文件存放地址 string saveZip = AppDomain.CurrentDomain.BaseDirectory + "\\update.zip"; //开始群落请求下载zip文件并保存 using (WebClient webClient = new WebClient()) { webClient.DownloadFile(updateZipWeb, saveZip);//下载文件 } //将saveZip压缩文件解压到当前项目目录下,解压后当前目录会有一个压缩文件的文件夹例如:update ZipFile.ExtractToDirectory(saveZip, AppDomain.CurrentDomain.BaseDirectory + "\\"); DirectoryInfo directoryInfo = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + "\\" + "update"); //将update目录所有拷贝到当前项目目录下 CopyFile(directoryInfo, AppDomain.CurrentDomain.BaseDirectory+"\\"); File.Delete(saveZip);//删除压缩文件 Directory.Delete(AppDomain.CurrentDomain.BaseDirectory + "\\" + "update", true);//删除压缩目录
2、ZipFile.CreateFromDirectory 方法建立压缩文件
建立 zip 存档,该存档包含文件和指定目录的目录。网络
CreateFromDirectory(String, String) | Value |
---|---|
CreateFromDirectory(String, String) | 建立 zip 存档,该存档包含文件和指定目录的目录 |
CreateFromDirectory(String, String, CompressionLevel, Boolean) | 建立 zip 存档,该存档包括指定目录的文件和目录,使用指定压缩级别,以及能够选择包含基目录 |
CreateFromDirectory(String, String, CompressionLevel, Boolean, Encoding) | 建立 zip 存档,该存档包括文件和指定目录的目录,使用指定压缩级别和条目名称的字符编码,以及能够选择包含基目录。 |
CreateFromDirectory(String, String)
参数
sourceDirectoryName
String
到要存档的目录的路径,指定为相对路径或绝对路径。 相对路径被解释为相对于当前工做目录。
destinationArchiveFileName
String
要生成的存档路径,指定为相对路径或绝对路径。 相对路径被解释为相对于当前工做目录。ide
CreateFromDirectory(String, String, CompressionLevel, Boolean)
参数
sourceDirectoryName
String
到要存档的目录的路径,指定为相对路径或绝对路径。 相对路径被解释为相对于当前工做目录。
destinationArchiveFileName
String
要生成的存档路径,指定为相对路径或绝对路径。 相对路径被解释为相对于当前工做目录。
compressionLevel
CompressionLevel
指示建立项时是否强调速度或压缩有效性的枚举值之一。
includeBaseDirectory
Boolean
包括从在存档的根的 sourceDirectoryName 的目录名称,则为 true;仅包含目录中的内容,则为 false 。工具
CreateFromDirectory(String, String, CompressionLevel, Boolean, Encoding)
参数
sourceDirectoryName
String
到要存档的目录的路径,指定为相对路径或绝对路径。 相对路径被解释为相对于当前工做目录。
destinationArchiveFileName
String
要生成的存档路径,指定为相对路径或绝对路径。 相对路径被解释为相对于当前工做目录。
compressionLevel
CompressionLevel
指示建立项时是否强调速度或压缩有效性的枚举值之一。
includeBaseDirectory
Boolean
包括从在存档的根的 sourceDirectoryName 的目录名称,则为 true;仅包含目录中的内容,则为 false 。
entryNameEncoding
Encoding
在存档中读取或写入项名时使用的编码。 仅当须要针对具备不支持条目名称的 UTF-8 编码的 zip 归档工具和库的互操做性进行编码时,为此参数指定值。学习
若是你想更是从层次的了解能够学习微软:
https://docs.microsoft.com/zh-cn/dotnet/api/system.io.compression.zipfile?view=netframework-4.8编码