Распаковка архива с заменой файлов - C# (233733)

Узнай цену своей работы

Формулировка задачи:

Как сделать распаковку архива с заменой файлов?
            using (ZipFile zip = ZipFile.Read("content.zip"))
                {
                    zip.ExtractProgress +=
                       new EventHandler<ExtractProgressEventArgs>(zip_ExtractProgress);
                    zip.ExtractAll("", ExtractExistingFileAction.OverwriteSilently);
                }

Решение задачи: «Распаковка архива с заменой файлов»

textual
Листинг программы
public static class ZipArchiveExtensions
{
    public static void ExtractToDirectory(this ZipArchive archive, string destinationDirectoryName, bool overwrite)
    {
        if (!overwrite)
        {
            archive.ExtractToDirectory(destinationDirectoryName);
            return;
        }
        foreach (ZipArchiveEntry file in archive.Entries)
        {
            string completeFileName = Path.Combine(destinationDirectoryName, file.FullName);
            if (file.Name == "")
            {// Assuming Empty for Directory
                Directory.CreateDirectory(Path.GetDirectoryName(completeFileName));
                continue;
            }
            file.ExtractToFile(completeFileName, true);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.545 из 5
Похожие ответы