Отрицание логического значения на основе другого логического значения

Мы используем DotNetZip , и я могу разархивировать содержимое zip-файла из Stream в память. Вот пример кода для извлечения специально названного файла из потока (LocalCatalogZip) и возврата потока для чтения этого файла, но его было бы легко развернуть.

    private static MemoryStream UnZipCatalog()
    {
        MemoryStream data = new MemoryStream();
        using (ZipFile zip = ZipFile.Read(LocalCatalogZip))
        {
            zip["ListingExport.txt"].Extract(data);
        }
        data.Seek(0, SeekOrigin.Begin);
        return data;
    }

Это не библиотеку, которую вы используете сейчас, но если вы можете ее изменить, вы можете получить эту функциональность.


Вот вариант, который возвращает Dictionary для содержимого каждого файла zip файл.

    private static Dictionary UnZipToMemory()
    {
        var result = new Dictionary();
        using (ZipFile zip = ZipFile.Read(LocalCatalogZip))
        {
            foreach (ZipEntry e in zip)
                            {
                                MemoryStream data = new MemoryStream();
                                e.Extract(data);
                                result.Add(e.FileName, data);
                            }
        }
        return result;
    }

13
задан HappyNomad 21 December 2012 в 01:45
поделиться