SharpZipLib - добавление папок / каталогов в zip-архив - PullRequest
2 голосов
/ 15 июня 2011

Из примеров я достаточно хорошо понимаю, как извлечь 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, что это каталог?

1 Ответ

1 голос
/ 15 июня 2011

ZipFile.AddDirectory делает то, что вы хотите.Маленький образец кода здесь .

...