直列化オブジェクトをファイルに圧縮する方法
最後のセクションでは、
オブジェクトをファイルに書き込む方法またはシリアライズする方法
について学びます。この例では、シリアライズされたものだけでなく、シリアライズされたオブジェクトを圧縮してファイルサイズを小さくすることもできます。
アイデアは非常に単純で、単にデータ圧縮に ”
GZIPOutputStream
“を使用するだけです。
FileOutputStream fos = new FileOutputStream("c:\\address.gz"); GZIPOutputStream gz = new GZIPOutputStream(fos); ObjectOutputStream oos = new ObjectOutputStream(gz);
GZIPの例
この例では、 “Address”オブジェクトを作成し、それを圧縮して ”
c:\\ address.gz
“というファイルに書き込みます。
P.Sアドレスオブジェクトはこのリンクを参照できます://java/how-to-write-object-to-file-in-java/[article].
package com.mkyong.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(); } } }