DotNetZip 的使用
Usage of DotNetZip
我正在使用 DotNetZip 库来压缩文件。我的代码如下
String[] filenames = { "D:\Data\ReadMe.txt", "c:\data\collection.csv","c:\ProgramFiles\reports AnnualSummary.pdf"};
using (ZipFile zip = new ZipFile())
{
zip.AddFiles(filenames, "files");
zip.Save("Archive.zip");
}
现在创建 Archive.zip 时,会在存档中为存储它们的文件创建同名文件夹(例如 Data、ProgramFiles 等)。
我的目标是压缩 Archive.zip 中的所有文件,压缩包中没有任何文件夹。我怎样才能实现它?
AddFiles 有一个重载以展平 zip 存档中的目录结构
public void AddFiles(
IEnumerable<string> fileNames,
bool preserveDirHierarchy,
string directoryPathInArchive
)
http://dotnetzip.herobo.com/DNZHelp/html/c64e89d3-2f1f-2886-16bc-291746b46718.htm
zip.AddFiles(filenames, false, "files");
第二个参数 preserveDirHierarchy 可以作为 false 传递,以使所有文件都位于 zip 存档的根目录中。执行此操作时请注意不要有同名文件。它将抛出重复文件名的异常。
我正在使用 DotNetZip 库来压缩文件。我的代码如下
String[] filenames = { "D:\Data\ReadMe.txt", "c:\data\collection.csv","c:\ProgramFiles\reports AnnualSummary.pdf"};
using (ZipFile zip = new ZipFile())
{
zip.AddFiles(filenames, "files");
zip.Save("Archive.zip");
}
现在创建 Archive.zip 时,会在存档中为存储它们的文件创建同名文件夹(例如 Data、ProgramFiles 等)。
我的目标是压缩 Archive.zip 中的所有文件,压缩包中没有任何文件夹。我怎样才能实现它?
AddFiles 有一个重载以展平 zip 存档中的目录结构
public void AddFiles(
IEnumerable<string> fileNames,
bool preserveDirHierarchy,
string directoryPathInArchive
)
http://dotnetzip.herobo.com/DNZHelp/html/c64e89d3-2f1f-2886-16bc-291746b46718.htm
zip.AddFiles(filenames, false, "files");
第二个参数 preserveDirHierarchy 可以作为 false 传递,以使所有文件都位于 zip 存档的根目录中。执行此操作时请注意不要有同名文件。它将抛出重复文件名的异常。