首先我想做的是:
我有一个要添加到同一存档中的文件列表。此文件的文件夹结构应包含在存档中。
我遇到的问题是我无法将文件添加到现有存档中。当我CompressionMode.Create
只使用存档中的实际文件时,当我使用时,CompressionMode.Append
我得到一个KeyNotFoundException
并且存档上没有任何变化。
SevenZip.SevenZipCompressor szc = new SevenZip.SevenZipCompressor();
if (File.Exists(PathToArchive))
szc.CompressionMode = SevenZip.CompressionMode.Append;
else
szc.CompressionMode = SevenZip.CompressionMode.Create;
FileStream archive = new FileStream(Filename, FileMode.OpenOrCreate, FileAccess.ReadWrite);
try
{
szc.DirectoryStructure = true;
szc.EncryptHeaders = true;
szc.DefaultItemName = filename; //if the full path given the folders are also created
szc.CompressStream(filestream, archive, Password);
}
catch (Exception e) { }
archive.Close();