Compression / Decompression GZip

Contenu du snippet

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;

public class GZIP {
    public static boolean compress(String iFilename, String oFilename){
        try {
            // prepare le gzip de sortie
            GZIPOutputStream out = new GZIPOutputStream(new FileOutputStream(oFilename));
            // ouvre le fichier d'entree
            FileInputStream in = new FileInputStream(iFilename);
            //transfere les bytes vers le gzip
            byte[] buf = new byte[1024];
            int offset;
            while ((offset = in.read(buf)) > 0) 
                out.write(buf, 0, offset);
            in.close();
        
            // On complete le fichier GZIP
            out.finish();
            out.close();
            return true;
        } catch (IOException e) {
            e.printStackTrace();
            return false;
        }
    }
    
    public static boolean uncompress(String iFilename, String oFilename){
        try {
            // Ouvre le fichier compresse
            GZIPInputStream in = new GZIPInputStream(new FileInputStream(iFilename));
            // ouvre le fichier de sortie
            OutputStream out = new FileOutputStream(oFilename);
            // transfere les byte compresse vers le fichier de sortie
            byte[] buf = new byte[1024];
            int offset;
            while ((offset = in.read(buf)) > 0)
                out.write(buf, 0, offset);
        
            // Ferme le fichier et le gzip
            in.close();
            out.close();
            return true;
        } catch (IOException e) {
            e.printStackTrace();
            return false;
        }
    }
}


Compatibilité : Java

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.