私はそれを記述する方法を考えることはできませんが、基本的には現在のオブジェクトをデコードされたシリアライズされたXML 。メソッドがあるクラスのシリアル化されたXMLを符号化してデコードする
私は、現在のTillオブジェクトの状態に一致するXMLファイルを生成するので、saveTillXMLが動作することを知っています。[実際には、デコードが失敗するため、動作しないことはわかりません。
- にjava.lang.reflect.InvocationTargetException
- java.lang.IllegalStateException
- java.lang.ArrayIndexOutOfBoundsException
は:私はloadTillXML()メソッドを呼び出したときしかし、私はこれらの例外を取得します私はウィンドウが閉じられたときにsaveTillXML()メソッドを呼び出し、Tillのコンストラクタの& loadTillXMLメソッドを呼び出します。
Tillが使用するすべてのクリップで、&を&まで無引数のコンストラクタをTillの&に持っています。
public void saveTillXML() throws IOException{
XMLEncoder encoder=new XMLEncoder(new BufferedOutputStream(new FileOutputStream("till.xml")));
encoder.writeObject(this);
encoder.close();
}
public static void loadTillXML() throws IOException{
XMLDecoder decoder=new XMLDecoder(new BufferedInputStream(new FileInputStream("till.xml")));
decoder.readObject();
decoder.close();
}
私は考えることができる唯一のことは、私は現在のインスタンスが、それはデコードのXMLなるようにしたい場合はdecoder.readObject()
はおそらくべきであるもの、に入らないという事実です。
ありがとうございます。