2010-08-06 15 views
1

Je suis obligé d'utiliser une ancienne version de SharpZipLib et les bibliothèques Microsoft standard pour effectuer cela. J'ai un fichier gziped dont le nom est différent du nom de fichier dans l'archive. J'ai besoin d'analyser l'en-tête du fichier gzip pour retourner le nom de fichier d'origine. Voici la documentation sur le site gzip:Comment analyser l'en-tête du fichier gzip à partir d'un flux gzip en C#?

http://www.gzip.org/zlib/rfc-gzip.html#conventions

Et un exemple de java qui ressemble il pourrait faire ce que je veux. il semble qu'il vérifie l'en-tête du fichier, mais ne lit pas le nom du fichier.

(Désolé ne pouvait pas afficher plus de 1 lien hypertexte) (http://www).java2s.com/Open-Source/Java-Document/6.0-JDK-Modules/j2me/java/util/zip/GZIPInputStream.java.htm

Toute aide sur ce problème serait très apprécié. Merci!

Répondre

0

Eh bien, si enfin compris. Son pas le moyen le plus sûr ou mieux, mais j'avais besoin d'un moyen rapide et sale de le faire et cela fonctionne.Ainsi, si quelqu'un d'autre a besoin de savoir cela ou que vous voulez l'améliorer, vous y voilà

using (FileStream stream = File.OpenRead(filePath)) 
{ 
    int size = 2048; 
    byte[] data = new byte[2048]; 
    size = stream.Read(data,0,size); 

    if (data[3] == 8) 
    { 
     List<byte> byteList = new List<byte>(); 

     int i = 10; 
     while (data[i] != 0) 
     { 
      byteList.Add(data[i]); 
      i++; 
     } 
     string test = System.Text.ASCIIEncoding.ASCII.GetString(byteList.ToArray()); 
     Console.WriteLine(test); 

    } 
}