Sharpziplib распаковывает встроенный ресурс - PullRequest
1 голос
/ 06 декабря 2010

У меня есть zip-файл в качестве встроенного ресурса. Используя следующий код:

Stream zipStream;
zipStream = thisAssembly.GetManifestResourceStream("Namespace.Resources.zipfile.zip");
byte[] data = Decompress(zipStream);

    public static byte[] Decompress(Stream zipStream)
            {
                ZipInputStream zipInputStream = new ZipInputStream(zipStream);
                //zipInputStream.CanDecompressEntry is false
                ZipEntry zipEntry;
                MemoryStream zipoutStream = new MemoryStream();

                while((zipEntry = zipInputStream.GetNextEntry()) != null)
                {
                    byte[] buffer = new byte[zipInputStream.Length];
                    zipInputStream.Read(buffer, 0, (int)zipInputStream.Length);
                    zipoutStream.Read(buffer, 0, buffer.Length);
                }
                return zipoutStream.ToArray();
            }

Метод распаковки всегда возвращает ноль. CanDecompressEntry всегда ложно. Есть ли другой способ разархивировать встроенные ресурсы?

1 Ответ

1 голос
/ 06 декабря 2010

Может быть, проблема в "zipoutStream.Read" вместо "zipoutStream.Write"?

...