我在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)類。 –