gpt4 book ai didi

c# - 如何使用 SevenZipSharp 将文件添加到存档

转载 作者:太空宇宙 更新时间:2023-11-03 16:42:39 33 4
gpt4 key购买 nike

首先我想做的是:

我有一个文件列表,我想添加到同一个存档中。此文件的文件夹结构应包含在存档中。

我遇到的问题是我无法将文件添加到现有存档中。当我使用 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();

最佳答案

使用 SharpZipLib 0.64(来自 Nuget)和来自 sourceforge 的 7z.dll 9.20,将文件附加到现有存档没​​有任何问题,但我使用的是 CompressFiles() 而不是 CompressStream()。

关于c# - 如何使用 SevenZipSharp 将文件添加到存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7028654/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com