1

我有一个 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();
            }

decompress 方法总是返回 null。CanDecompressEntry 始终为假。还有其他解压嵌入式资源的方法吗?

4

1 回答 1

1

也许问题出在“zipoutStream.Read”而不是“zipoutStream.Write”?

于 2010-12-06T13:11:34.320 回答