Как распаковать архив с заменой файлов? Сейчас при распаковке архива полностью удаляю файлы и директорию, а уже потом на это место распаковываю файлы, но мне это не подходит. Для распаковки использую ZipFile Class
Нашел решение:
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);
}
}
}
Пример использования:
ZipArchiveExtensions.ExtractToDirectory(ZipFile.OpenRead("./zip.zip"),"./ex",true);
Или
ZipArchiveExtensions.ExtractToDirectory(ZipFile.Open("./zip.zip", ZipArchiveMode.Read, Encoding.GetEncoding(866)), "./ex", true);
Подробнее о Encoding.GetEncoding
можно прочесть тут
Виртуальный выделенный сервер (VDS) становится отличным выбором
Поделитесь опытом, кто что использует для чистки enum? Со временем, обычно накапливается много значений, часть из которых уже отсутствуют в кодеОсобенно...