<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 單飛 閱讀(810) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 风间由美在线亚洲一区| 99久久精品免费精品国产| 黄色毛片免费网站| 免费鲁丝片一级在线观看| 亚洲人精品亚洲人成在线| 成人免费视频77777| 亚洲丰满熟女一区二区v| 最近免费2019中文字幕大全| 本免费AV无码专区一区| 国产成人精品日本亚洲专区61| xxxxxx日本处大片免费看| 久久乐国产精品亚洲综合| 两个人看www免费视频| 亚洲av永久无码精品秋霞电影影院| 亚洲中文字幕乱码AV波多JI| 人碰人碰人成人免费视频| 亚洲美女在线国产| 嫩草在线视频www免费看| 国产免费无遮挡精品视频| 亚洲综合婷婷久久| 一级毛片免费播放视频| 国产亚洲日韩一区二区三区| 久久精品成人免费网站| 亚洲精品**中文毛片| 毛片免费观看的视频| 美女被免费视频网站| 日韩va亚洲va欧洲va国产| 最近中文字幕电影大全免费版| 天堂亚洲国产中文在线| 亚洲AⅤ优女AV综合久久久| 久久99毛片免费观看不卡| 亚洲三级中文字幕| 亚洲精品视频免费看| 亚洲成亚洲乱码一二三四区软件| 亚洲网站免费观看| 激情婷婷成人亚洲综合| 亚洲国产精品无码av| 德国女人一级毛片免费| 亚洲成人免费电影| 99久久99热精品免费观看国产| 午夜在线a亚洲v天堂网2019|