2010-12-06 5 views
1

J'ai un fichier zip en tant que ressource incorporée. À l'aide du code suivant:Sharpziplib décompresser ressource incorporée

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

La méthode de décompression renvoie toujours null. CanDecompressEntry est toujours faux. Un autre moyen de décompresser les ressources intégrées?

Répondre

1

Peut-être que le problème est dans "zipoutStream.Read" au lieu de "zipoutStream.Write"?

+0

Alors idiot de moi .. merci !! –

Questions connexes