ImageIcon
(シリアライズ可能を実装する)を含むオブジェクトをシリアライズしようとしています。その画像はubuntuのサンプル画像で、サイズは約320kです。
public static void write() {
ImageIcon aww = null;
aww = new ImageIcon("/home/javi/PRUEBA/img.jpg");
ab hue = new ab("hola", "adios", 10, 1111, aww);
ObjectOutputStream oos = null;
FileOutputStream a = null;
try {
a = new FileOutputStream("/home/javi/PRUEBA/mapa.atd");
oos = new ObjectOutputStream(a);
oos.writeObject(hue);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
a.close();
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class ab implements Serializable {
private static final long serialVersionUID = -4377893644898458425L;
String asdf;
String b;
int w;
Integer ab;
ImageIcon a;
public ab(String asdf, String b, int w, Integer ab, ImageIcon ww) {
super();
this.asdf = asdf;
this.b = b;
this.w = w;
this.ab = ab;
a = ww;
}
}
これは私が使用しているコードで、画像が約 320k で出力ファイルが約 10Mb になる理由がわかりません。必要に応じて、画像をアップロードできます ( /usr/share/unity-2d/warty-final-ubuntu.jpg
)