ICSharpCode erreur de décompression

cs_gedeon44 Messages postés 6 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 7 juillet 2006 - 7 juil. 2006 à 12:18
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 10 juil. 2006 à 22:12
Bonjour,

J'utilise actuellement dans un programme C# la bibliothèque ICSharpCode.SharpZipLib.Zip pour compresser et décompresser un ensemble de fichiers.

Je rencontre un problème lors de la décompression de certains fichiers EXE.
Le message affiché : Size mismatch: 579019;600056 <-> 579019;600053.

J'ignore d'où cela peut provenir.

Si vous avez une solution au problème...

Merci d'avance.

Ci-dessous une partie du code source.
*********
...
    try {
     // Definition du repertoire d'extraction
     Directory.SetCurrentDirectory(SousRepertoireTravail);
  
     ZipInputStream ZipIn = new ZipInputStream(File.OpenRead(args[0]));
     
     ZipEntry entry;
     while ((entry = ZipIn.GetNextEntry()) != null)
     {
      if(entry.IsDirectory) continue;
      string directoryName = Path.GetDirectoryName(entry.ToString());
      // Creation du repertoire s'il n'existe pas
      if(directoryName!="")
       if (!Directory.Exists(directoryName))
                                Directory.CreateDirectory(directoryName);



      // Creation du fichier à extraire
      FileStream fs = File.Create(entry.ToString(),2048);
      byte[] data = new byte[2048];
      int size;
      while ((size = ZipIn.Read(data, 0, data.Length))>0)
       fs.Write(data, 0, size);
      fs.Flush();
      fs.Close();
     }
     ZipIn.Close();
    }
    catch (Exception e)
    {
     throw new Exception(NOM_CLASSE + " Echec de decompression de l'archive. Exception : " + e.Message);
    }
...
**********

Gedeon44

1 réponse

cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
10 juil. 2006 à 22:12
Salut,
Bon en fait c'est assez dur de répondre à cette quesion, car le contenu de la dll n'est pas connu de tout le monde (aucune idée comment elle fonctionne!). Je me demande si tu ferais pas mieux de poser ta question sur un forum dedié à cette dll (doit bien y'en avoir un sur le site de l'éditeur, non?)

Autres infos : si tu travailles avec le framework v2, tu peux utiliser les classes présentent dans le namespace System.IO.Compression.
Rejoignez-nous