我有一个文件夹"D:\folder",在这个文件夹中我有10个文件需要压缩到新的存档中"D:\folder.zip".
目前我正在使用ICSharpCode.SharpZipLib,但这不是强制性要求,因此可以接受其他解决方案.
我面临的问题是,当我尝试执行该方法时,FileStream fs = File.OpenRead(@"D:\folder")由于访问指定的路径,我收到错误.
如何以简单的方式压缩这些文件?
Ant*_*ula 24
DotNetZip比SharpZipLib更容易使用,例如压缩文件夹中的所有文件:
using (ZipFile zip = new ZipFile())
{
zip.AddDirectory(@"MyDocuments\ProjectX", "ProjectX");
zip.Save(zipFileToCreate);
}
Run Code Online (Sandbox Code Playgroud)
这是此页面的一个示例:
http://dotnetzip.codeplex.com/wikipage?title=CS-Examples&referringTitle=Examples
Joã*_*elo 15
我也同意Antonio Bakula建议使用DotNetZip而不是SharpZipLib.
.NET 4.5包含用于操作.zip文件的新类ZipArchive和ZipFile类.有了这种支持,你要做的就是通过以下方式完成:
ZipFile.CreateFromDirectory(@"D:\Folder", @"Folder.zip");
Run Code Online (Sandbox Code Playgroud)
作为旁注,您收到错误的原因是因为您尝试打开目录而不是文件.本File.OpenRead是用来打开读取文件,因为你提供了一个目录,你的错误.如果要枚举特定文件夹中的文件或目录,可以改为使用Directory.EnumerateFiles或Directory.EnumerateDirectories.
| 归档时间: |
|
| 查看次数: |
29552 次 |
| 最近记录: |