2010-12-06 6 views
1

리소스가 포함 된 zip 파일이 있습니다. 다음 코드를 사용하십시오.Sharpziplib 포함 리소스 압축 해제

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(); 
      } 

압축 해제 방법은 항상 null을 반환합니다. CanDecompressEntry는 항상 false입니다. 임베디드 리소스를 압축 해제하는 다른 방법은 없나요?

답변

1

"zipoutStream.Write"대신 "zipoutStream.Read"에 문제가있을 수 있습니까?

+0

내 바보 같은 .. 감사합니다 !! –