Décompresser des fichiers .gz

Résolu
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008 - 4 janv. 2007 à 19:31
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008 - 8 janv. 2007 à 22:32
Bonjour,

j'aimerais décompresser des fichiers contenus dans un "zip" .gz.

J'ai trouvé le code suivant qui permettrais de faire cette décompression. Le problème que j'ai est que la fonction admet en paramètre un fichier de sortie alors que je voudrais indiquer un dossier dans lequel les fichier décompressés vont se stocker. Savez-vous comment modifier cette méthode ? Je ne vois d'ailleurs pas ce qui a été voulu dire par fichier de sortie... on décompresse en général des fichier dans des dossiers...

merci d'avance.
Mathmax

3 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
4 janv. 2007 à 20:55
Salut

Non, tu confonds la compression et l'archivage !
gzip est un format de compression, souvent associé au tarball (*.tar) qui est une archive.
Ainsi, tar.gz est une archive compressée -> tu décompresses le gz, tu as un fichier tarball. Tu ouvres ce tarball, tu as plusieurs fichiers qui étaient dans l'archive.

http://fr.wikipedia.org/wiki/Tar_%28informatique%29
http://fr.wikipedia.org/wiki/Gzip

Mais tu peux aussi tres bien ne compresser qu'un fichier en gzip (sans passer par une archive tar). Tu n'as a ce moment qu'un seul fichier en sortie (celui que tu as compressé)

Regarde du coté de #ZipLib pour t'amuser avec des fichiers tar.

Mx
MVP C# 
3
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008
5 janv. 2007 à 02:47
merci c'est exactement ça. J'ai un fichier tar.gz. Grâce au code du lien ci-dessus, j'arrive à décompresser ce fichier en un .tar. Par contre ce que je n'arrive pas à faire c'est extraire les fichiers de l'archive .tar. J'ai regardé les exemple de #zipLib, et j'ai écris ce bout de code :

            FileStream intputFile = File.OpenRead(@"C:\Documents and Settings\MAA\Bureau\rrrr.tar");
            TarInputStream tis = new TarInputStream(intputFile);

            TarArchive tar = TarArchive.CreateInputTarArchive(tis);
            tar.ExtractContents(@"C:\Documents and Settings\MAA\Bureau\aaa");
            tar.CloseArchive();

Ce code  ne me génère pas d'arreur à l'exécution mais il ne fait rien. Aucun fichier n'est extrait. Sais-tu ce qu'il faut changer pour que ça marche ?
Mathmax
0
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008
8 janv. 2007 à 22:32
C'est bon j'ai résolu mon problème grâce à cette source.

Mathmax
0
Rejoignez-nous