後で使用する Java 3D オブジェクト (球、カラーキューブなど) のバイナリ ファイルを作成するプログラムを作成してみてください。しかし、これを行う前に、オブジェクトをシリアル化する必要がありますが、できません。エラーが発生しました。
プログラムを見てみましょう----
次のクラスは、ColorCube オブジェクトを作成し、バイナリ ファイルに書き込むメイン クラスです。
import com.sun.j3d.utils.geometry.ColorCube;
import java.io.*;
public class SerializeDemo {
public static void main(String [] args) {
DoSerialize e = new DoSerialize();
e.cc = new ColorCube(1.4);
try {
FileOutputStream fileOut = new FileOutputStream("e://objectFile.txt");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
try {
out.writeObject(e);
}catch(NotSerializableException i)
{i.printStackTrace();}
out.close();
fileOut.close();
}catch(IOException i)
{i.printStackTrace();}
}
}
これはシリアライズ可能なクラスです ---
import com.sun.j3d.utils.geometry.ColorCube;
public class DoSerialize implements java.io.Serializable {
public ColorCube cc;
}
そして、エラーは----です
java.io.NotSerializableException: com.sun.j3d.utils.geometry.ColorCube
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at SerializeDemo.main(SerializeDemo.java:25)
BUILD SUCCESSFUL (total time: 2 seconds)
では、この問題を克服するにはどうすればよいでしょうか。助けてください。ありがとう......