powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / SharpZipLib
3 сообщений из 3, страница 1 из 1
SharpZipLib
    #33823056
Slam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите плз, как с помощью SharpZipLib вытягивать файлы из архива, содержащего несколько ZipEntries... В случае одного все ясно, а вот в случае нескольких файлов внутри архива - просто беда. Дайте пример плз.
...
Рейтинг: 0 / 0
SharpZipLib
    #33823379
Nuald
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Slam, Вы писали:

S>Подскажите плз, как с помощью SharpZipLib вытягивать файлы из архива, содержащего несколько ZipEntries... В случае одного все ясно, а вот в случае нескольких файлов внутри архива — просто беда. Дайте пример плз.


public static void ExtractZipFile(string zipFileName, string targetDirName) {
    ZipInputStream inputStream = new ZipInputStream(File.OpenRead(zipFileName));
    ZipEntry theEntry;
    while ((theEntry = inputStream.GetNextEntry()) != null) {
        string fileName = Path.GetFileName(theEntry.Name);
        if (fileName != String.Empty) {
            FileStream streamWriter = File.Create(Path.Combine(targetDirName, fileName));
            int size = 0;
            int sizeOfFile = (int)theEntry.Size;
            byte[] data = new byte[sizeOfFile];
            do {
                size += inputStream.Read(data, size, data.Length - size);
            } while (size < sizeOfFile);
            inputStream.ReadByte();
            if (data.Length > 0) {
                streamWriter.Write(data, 0, data.Length);
            }
            streamWriter.Close();
        }
    }
    inputStream.Close();
}

Cуть в том, что там надо читать ВСЕ entries из потока, пример вроде у них в FAQ на сайте есть.
Но скажу сразу: SharpZipLib — это одни большие грабли. Мы потом от него отказались, т.к. он не мог все архивы (которые мы с его же помощью делали) открыть. Вообще в .NET 2 есть DeflateStream и GZipStream — поиграйтесь с ними, возможно лучше будет их использовать.... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
...
Рейтинг: 0 / 0
SharpZipLib
    #33824289
Slam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
большое спасибо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / SharpZipLib
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]