In last section, you learn about how to compress a serialized object into a file, now you learn how to decompress it from a Gzip file.
FileInputStream fin = new FileInputStream("c:\\address.gz"); GZIPInputStream gis = new GZIPInputStream(fin); ObjectInputStream ois = new ObjectInputStream(gis); address = (Address) ois.readObject();
GZIP example
In this example, you will decompress a compressed file “address.gz“, and print it out the value.
Address.java
package com.favtuts.io.object; import java.io.Serializable; public class Address implements Serializable { //private static final long serialVersionUID = 1L; private static final long serialVersionUID = 99L; String street; String country; public Address() { } public Address(String street, String country) { this.street = street; this.country = country; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } @Override public String toString() { return "Address{" + "street='" + street + '\'' + ", country='" + country + '\'' + '}'; } }
Deserializer.java
package com.favtuts.io.howto.compress; import java.io.FileInputStream; import java.io.ObjectInputStream; import java.io.Serializable; import java.util.zip.GZIPInputStream; import com.favtuts.io.object.Address; public class Deserializer implements Serializable { public static void main(String[] args) { Deserializer deserializer = new Deserializer(); Address address = deserializer.deserialzeAddress(); System.out.println(address); } public Address deserialzeAddress(){ Address address; try{ FileInputStream fin = new FileInputStream("/home/tvt/workspace/favtuts/address.gz"); GZIPInputStream gis = new GZIPInputStream(fin); ObjectInputStream ois = new ObjectInputStream(gis); address = (Address) ois.readObject(); ois.close(); return address; }catch(Exception ex){ ex.printStackTrace(); return null; } } }
Output
Address{street='Wall street', country='United State'}
Download Source Code
$ git clone https://github.com/favtuts/java-core-tutorials-examples
$ cd java-io/howto/compress