我在C#中创建一个文件夹,我希望一旦创建它就可以将其压缩。我已经看过(How to zip a folder),(http://dotnetzip.codeplex.com/),但目前还没有运气。我对使用dotnetzip有点担心,因为它的最新版本是5年前。在C中创建一个文件夹的Zip文件夹#
dotnetzip在Visual Studio 2015中仍然相关,还是有更现代的方式来压缩C#中的文件夹而不使用包?
这是我如何复制文件夹;
private static void CopyDirectory(string SourcePath, string DestinationPath, bool overwriteexisting)
{
SourcePath = SourcePath.EndsWith(@"\") ? SourcePath : SourcePath + @"\";
DestinationPath = DestinationPath.EndsWith(@"\") ? DestinationPath : DestinationPath + @"\";
if (Directory.Exists(SourcePath))
{
if (Directory.Exists(DestinationPath) == false)
Directory.CreateDirectory(DestinationPath);
foreach (string fls in Directory.GetFiles(SourcePath))
{
FileInfo flinfo = new FileInfo(fls);
flinfo.CopyTo(DestinationPath + flinfo.Name, overwriteexisting);
}
foreach (string drs in Directory.GetDirectories(SourcePath))
{
DirectoryInfo drinfo = new DirectoryInfo(drs);
CopyDirectory(drs, DestinationPath + drinfo.Name, overwriteexisting);
}
}
}
我期待在此之后压缩创建的文件夹。
_“目前还没有运气”_并不真正具有描述性。显示您的尝试和结果。 – CodeCaster
.Net 4.5中有[ZipFile.CreateFromDirectory](https://msdn.microsoft.com/en-us/library/hh485707%28v=vs.110%29.aspx) – stuartd
调查[压缩](https:/ /msdn.microsoft.com/en-us/library/system.io.compression(v=vs.110).aspx)与[ZipArchive]的具体主题(https://msdn.microsoft.com/en-us /library/system.io.compression.ziparchive(v=vs.110).aspx)类。 –