So komprimieren Sie ein serialisiertes Objekt in eine Datei

So komprimieren Sie serialisierte Objekte in eine Datei

Im letzten Abschnitt erfahren Sie mehr überhow to write or serialized an object into a file. In diesem Beispiel können Sie mehr als nur serialisieren. Sie können auch das serialisierte Objekt komprimieren, um die Dateigröße zu verringern.

Die Idee ist sehr einfach, nur die "GZIPOutputStream" für die Datenkomprimierung zu verwenden.

FileOutputStream fos = new FileOutputStream("c:\\address.gz");
GZIPOutputStream gz = new GZIPOutputStream(fos);
ObjectOutputStream oos = new ObjectOutputStream(gz);

GZIP-Beispiel

In diesem Beispiel erstellen Sie ein "Adress" -Objekt, komprimieren es und schreiben es in eine Datei "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();
       }
   }
}