ICSharpCode erreur de décompression

Signaler
Messages postés
6
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
7 juillet 2006
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
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

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
51
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.