2012-05-09 13 views
0

私はXStreamシリアライザを使用して、プリシリアライズおよび直面した問題をデシリアライズしてシリアル化しています。ここでは、問題の説明です:xstreamプリミティブの逆シリアル化は機能しませんか?

言って、私が持っている:

​​

しかしとき:

int i = 80; 

は、私は以下のようにそれをシリアライズ:

serializer.toXML(i, new FileOutputStream("me.xml")); 

をし、このXMLを取得します私はdeserealizeしようとしています:

i = (int) serializer.fromXML("me.xml"); 

私はこのような例外を取得:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1 
    at com.thoughtworks.xstream.core.util.FastStack.pop(FastStack.java:42) 
    at com.thoughtworks.xstream.io.xml.AbstractPullReader.move(AbstractPullReader.java:125) 
    at com.thoughtworks.xstream.io.xml.AbstractPullReader.moveDown(AbstractPullReader.java:103) 
    at com.thoughtworks.xstream.io.xml.XppReader.<init>(XppReader.java:63) 
    at com.thoughtworks.xstream.io.xml.AbstractXppDriver.createReader(AbstractXppDriver.java:54) 
    at com.thoughtworks.xstream.XStream.fromXML(XStream.java:912) 
    at com.thoughtworks.xstream.XStream.fromXML(XStream.java:903) 
    at Utilities.Parser.serializeTimeIntervalDuration(Parser.java:371) 
    at Utilities.Parser.parseData(Parser.java:152) 
    at CoreLayer.Main.Main.main(Main.java:52) 

誰が私のミスで私を指すもらえますか?

ありがとうございます!

答えて

3

fromXML()はファイル名ではなくXMLを必要とするためです。 XMLを解析する前にファイルからXMLを読み込む必要があります。あなたはXStreamのは、文字列「me.xml」の意味を理解しようとしている瞬間など

文字列、URLを、読者に提供できるようXStreamは、fromXML()の複数の実装を持っていることを

注意。

+0

ブライアン、本当にありがとう、私の時間を大いに節約しました。ほんとうにありがとう! –

関連する問題