<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    9910

    單飛

       :: 首頁 :: 聯系 :: 聚合  :: 管理
    我嘗試著用它來保存繼承了Externalizeable的java類,可是沒有成功。
    import java.io.Externalizable;
    import java.io.IOException;
    import java.io.ObjectInput;
    import java.io.ObjectOutput;

    public class Person implements Externalizable{
    ?? ?private String name ;
    ?? ?private int sex;
    ?? ?private Person son;
    ?? ?
    ?? ?
    ?? ?public String getName() {
    ?? ??? ?return name;
    ?? ?}
    ?? ?public void setName(String name) {
    ?? ??? ?this.name = name;
    ?? ?}
    ?? ?public int getSex() {
    ?? ??? ?return sex;
    ?? ?}
    ?? ?public void setSex(int sex) {
    ?? ??? ?this.sex = sex;
    ?? ?}
    ?? ?public Person getSon() {
    ?? ??? ?return son;
    ?? ?}
    ?? ?public void setSon(Person son) {
    ?? ??? ?this.son = son;
    ?? ?}
    ?? ?public void writeExternal(ObjectOutput out) throws IOException{
    ?? ??? ?out.writeObject(name);
    ?? ??? ?out.writeInt(sex);
    ?? ??? ?out.writeObject(son);
    ?? ??? ?
    ?? ??? ?
    ?? ?}
    ?? ?public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException{
    ?? ??? ?name = (String)in.readObject();
    ?? ??? ?sex = in.readInt();
    ?? ??? ?son = (Person)in.readObject();
    ?? ?}
    }


    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.io.Reader;
    import java.io.Writer;

    import com.thoughtworks.xstream.XStream;
    import com.thoughtworks.xstream.io.xml.DomDriver;

    public class TestXml {
    ??? public static void main(String[] args) {
    ??? ??? try {
    ??? ??? ??? XStream xstream = new XStream(new DomDriver());
    ??? ??? ??? File file = new File("c:/ssx.xml");
    ??? ??? ??? Writer writer = new FileWriter(file);
    ??? ??? ??? ObjectOutputStream out = xstream.createObjectOutputStream(writer);
    ??? ??? ??? Person father = new Person();
    ??? ??? ??? father.setName("father");
    ??? ??? ??? father.setSex(1);
    ??? ??? ??? Person son = new Person();
    ??? ??? ??? son.setName("son");
    ??? ??? ??? father.setSon(son);
    ??? ??? ??? //----------------write----------
    ??? ??? ??? xstream.alias("Person", Person.class);
    ??? ??? ??? out.writeObject(father);
    ??? ??? ??? out.close();
    ??? ??? ??? //-----------------read--------------
    ??? ??? ??? Reader reader = new FileReader(file);
    ??? ??? ??? ObjectInputStream in = xstream.createObjectInputStream(reader);
    ??? ??? ??? Person sfather = (Person)in.readObject();
    ??? ??? ??? System.out.println(sfather.getName());
    ??? ??? ???
    ??? ??? } catch (Exception e) {
    ??? ??? ??? e.printStackTrace();
    ??? ??? }

    ??? }
    }
    可是XStream提供了Converter這個類
    import com.thoughtworks.xstream.converters.Converter;
    import com.thoughtworks.xstream.converters.MarshallingContext;
    import com.thoughtworks.xstream.converters.UnmarshallingContext;
    import com.thoughtworks.xstream.io.HierarchicalStreamReader;
    import com.thoughtworks.xstream.io.HierarchicalStreamWriter;

    public class PersonConverter implements Converter {

    public boolean canConvert(Class clazz) {
    return false;
    }

    public void marshal(Object value, HierarchicalStreamWriter writer,
    MarshallingContext context) {
    }

    public Object unmarshal(HierarchicalStreamReader reader,
    UnmarshallingContext context) {
    return null;
    }
    這樣就可以來自己建立Converter如:date..等類型。
    然后注冊一下:
    xStream.registerConverter(new PersonConverter());

    通過對比發現XStream要比betwixt更易于使用,betwixt需要更多的設置才能運行,并且有大量隱藏的要求。
    http://xstream.codehaus.org 有很詳細的文檔介紹。
    posted on 2006-11-26 15:27 單飛 閱讀(799) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 四虎必出精品亚洲高清| 美女露隐私全部免费直播| 欧美a级成人网站免费| 国产精品亚洲片在线花蝴蝶| 亚洲精品成人网站在线观看| 亚洲成人在线免费观看| 日韩亚洲人成在线综合| 亚洲av无码精品网站| 日产乱码一卡二卡三免费| 西西人体免费视频| 亚洲日本va一区二区三区| 亚洲熟妇丰满多毛XXXX| 国产人在线成免费视频| 中国在线观看免费的www| 亚洲av成人一区二区三区在线播放| 中文字幕亚洲一区二区va在线| 国产在线jyzzjyzz免费麻豆| 72pao国产成视频永久免费| 亚洲人成黄网在线观看| 中文亚洲AV片不卡在线观看| 成在人线AV无码免费| 欧洲人免费视频网站在线| 偷自拍亚洲视频在线观看| 亚洲精品mv在线观看| 亚洲日韩国产精品乱| 久久精品无码一区二区三区免费| 西西人体免费视频| 美女扒开屁股让男人桶爽免费| 亚洲成人午夜电影| 亚洲理论电影在线观看| 国产又黄又爽又刺激的免费网址| 91精品国产免费网站| 在线免费播放一级毛片| 青青久久精品国产免费看| 亚洲欧美国产精品专区久久| 亚洲黄色中文字幕| 亚洲精品免费在线观看| 国产AⅤ无码专区亚洲AV| 亚洲成A人片77777国产| 国产精品无码一区二区三区免费| 精品久久久久久久久免费影院|