[英]How to zip all files in folder
我有一個文件夾"D:\\folder"
,在這個文件夾中我有10個文件需要壓縮到新的存檔"D:\\folder.zip"
。
目前我正在使用ICSharpCode.SharpZipLib,但這不是強制性要求,因此可以接受其他解決方案。
我面臨的問題是,當我嘗試執行方法FileStream fs = File.OpenRead(@"D:\\folder")
由於訪問指定的路徑,我收到錯誤。
如何以簡單的方式壓縮這些文件?
DotNetZip比SharpZipLib更容易使用,例如壓縮文件夾中的所有文件:
using (ZipFile zip = new ZipFile())
{
zip.AddDirectory(@"MyDocuments\ProjectX", "ProjectX");
zip.Save(zipFileToCreate);
}
這是此頁面的一個示例:
http://dotnetzip.codeplex.com/wikipage?title=CS-Examples&referringTitle=Examples
我也同意Antonio Bakula建議使用DotNetZip而不是SharpZipLib。
.NET 4.5包含用於操作.zip文件的新ZipArchive
和ZipFile
類。 有了這種支持,你要做的就是通過以下方式完成:
ZipFile.CreateFromDirectory(@"D:\Folder", @"Folder.zip");
作為旁注,您收到錯誤的原因是因為您嘗試打開目錄而不是文件。 File.OpenRead
用於打開文件以供讀取,因為您提供了一個目錄,就會收到錯誤。 如果要枚舉特定文件夾中的文件或目錄,則可以使用Directory.EnumerateFiles
或Directory.EnumerateDirectories
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.