Comment compresser un objet sérialisé dans un fichier
Dans la dernière section, vous en apprendrez davantage surhow to write or serialized an object into a file. Dans cet exemple, vous pouvez faire plus que simplement le sérialiser, vous pouvez également compresser l'objet sérialisé pour réduire la taille du fichier.
L'idée est très simple, il suffit d'utiliser les «GZIPOutputStream» pour la compression des données.
FileOutputStream fos = new FileOutputStream("c:\\address.gz"); GZIPOutputStream gz = new GZIPOutputStream(fos); ObjectOutputStream oos = new ObjectOutputStream(gz);
Exemple GZIP
Dans cet exemple, vous allez créer un objet «Adresse», le compresser et l'écrire dans un fichier «c:\address.gz».
P.S Address object can refer to this article.
package com.example.io; import java.io.FileOutputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.zip.GZIPOutputStream; public class Serializer implements Serializable{ public static void main (String args[]) { Serializer serializer = new Serializer(); serializer.serializeAddress("wall street", "united state"); } public void serializeAddress(String street, String country){ Address address = new Address(); address.setStreet(street); address.setCountry(country); try{ FileOutputStream fos = new FileOutputStream("c:\\address.gz"); GZIPOutputStream gz = new GZIPOutputStream(fos); ObjectOutputStream oos = new ObjectOutputStream(gz); oos.writeObject(address); oos.close(); System.out.println("Done"); }catch(Exception ex){ ex.printStackTrace(); } } }