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編碼