使用zip存档

本文关键字:存档 zip 使用 | 更新日期: 2023-09-27 18:16:29

我创建了一个非常简洁的备份应用程序。它只是将您指定的目录复制到您想要的任何位置。不幸的是,我遇到了一个问题。文件路径的最大长度约为250,因此如果新的位置路径更长,程序将无法复制文件,并且程序将崩溃。

我了解到使用zip存档可以解决这个问题。但是…这个程序使用了一些过滤器,它的逻辑不是那么简单。我真的不想把这些都重写一遍。

我的程序访问指定目录下的所有子目录,检查那里是否有新的或修改的文件。如果它找到一些,它将其复制到..../Backups/......../dir_A/dir_B/file。每个文件和目录都是单独处理的(检查它是否被修改,是否适合过滤器等)

我需要的是一些能帮我用backup .zip代替Backups目录的东西,特别是提供这样的东西:

myArchive.copyFile("dir_a/dir_b/...../file", original_file_path);
myArchive.fileModificationDate("dir_a/dir_b/...../file");
myArchive.getDirectotiesIn("dir_a/dir_b/");

.Net中有这样的特性吗?或者有一个免费的图书馆?

使用zip存档

在c#中处理zip文件主要有两个免费的选择:

  • DotNetZip
  • SharpZipLib

我更喜欢DotNetZip。

SharpZipLib