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は常にfalseです。埋め込まれたリソースを解凍する他の方法はありますか?

4

1 に答える 1

1

「zipoutStream.Write」ではなく「zipoutStream.Read」に問題があるのではないでしょうか?

于 2010-12-06T13:11:34.320 に答える