2010-11-10 133 views
3

我使用SevenZipSharp将文件压缩成zip文件。 我有2个问题:SevenZipSharp - 将文件附加到zip并删除文件路径

  1. 当使用CompressFiles miltiple在同一个目标文件并不在文件中附加的时间,但要覆盖他们。

  2. 我想将文件添加到他们的整个路径,但似乎无法找到(我认为PreserveDirectoryRoot = false会做的伎俩,但它不)。

有没有人有想法?

回答

3

您需要在第一次通话后使用CompressionMode.Append。缺省值是CompressionMode.Create。可以通过改变DirectoryStructure来删除路径。

相关源代码是here

public sealed partial class SevenZipCompressor 
#if UNMANAGED 
     : SevenZipBase 
#endif 
    { 
     /// Gets or sets the compression mode. 
     /// </summary> 
     public CompressionMode CompressionMode { get; set; } 
     /// <summary> 

     /// Gets or sets the value indicating whether to preserve the 
     /// directory structure. 
     /// </summary> 
     public bool DirectoryStructure { get; set; } 
    } 
+0

谢谢你,目录结构的作品,但我仍然有压缩模式的问题。创建zip后,我将模式更改为“Append”(comp.CompressionMode = SevenZip.CompressionMode.Append;)。但是,当为第二个文件执行comp.CompressFiles时,它会引发异常:给定的键在字典中不存在。我似乎无法理解为什么。 – Maya 2010-11-11 09:25:36