Из примеров я достаточно хорошо понимаю, как извлечь zip-файл.
Практически в каждом примере метод определения, когда ZipEntry является каталогом, выглядит следующим образом
string directoryName = Path.GetDirectoryName(theEntry.Name);
string fileName = Path.GetFileName(theEntry.Name);
if (directoryName.Length > 0)
Directory.CreateDirectory(Path.Combine(destinationDirectory, directoryName));
if (fileName != String.Empty)
{
//read data and write to file
}
Теперь все в порядке и все (каталог найден, создайте его), каталог доступен при извлечении файла.
Я могу добавить файлы в zip-файл, но как мне добавить папки?Я понимаю, что буду циклически просматривать каталоги, добавляя найденные файлы (и их свойство ZipEntry.Name заполнено правильно), но как мне добавить ZipEntry в архив и проинструктировать ZipOutputStream, что это каталог?