C#下载文件(.net下载文件)实现更新替换文件,文件解压缩。

1、C#实现解压文件(对文件。文件夹zip压缩,解压)
首先C#进行文件解压,压缩须要引入这个几个命名空间
zip引入命名空间
简单快速的使用方式 解压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);//删除压缩目录

ZipFile.CreateFromDirectory 方法

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编码

相关文章
相关标签/搜索