У меня есть код, который создает или добавляет файлы в указанный zip-архив. То, что я не могу найти, это возможность заменить файл в zip, если я пытаюсь добавить еще один с тем же именем.Заменить файл с тем же именем в zip
private void button1_Click(object sender, EventArgs e)
{
if (oflFilesToZip.ShowDialog() == DialogResult.OK)
{
string[] files = oflFilesToZip.FileNames;
bool zipExists = File.Exists(zipPath);
ZipArchive zip;
if (zipExists)
{
zip = ZipFile.Open(zipPath, ZipArchiveMode.Update);
}
else zip = ZipFile.Open(zipPath, ZipArchiveMode.Create);
foreach (string file in files)
{
zip.CreateEntryFromFile(file, Path.GetFileName(file), CompressionLevel.Optimal);
}
zip.Dispose();
}
}
Есть ли способ для этого, или я должен, например, вручную открыть почтовый индекс, получить все записи и проверить один за другим, если имя файла, я добавляю уже существует в архиве?
Учитывая характер файлов Zip, я ожидал бы удалить старую запись и добавить новую. Заменить будет только помощником для выполнения двух операций. – Richard