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