<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ⅴ入口| 豆国产96在线|亚洲| 亚洲AV无码一区二区三区国产| 成人a毛片免费视频观看| 国产精品亚洲高清一区二区| 美女无遮挡拍拍拍免费视频| 亚洲AV无码成人精品区天堂| 69av免费视频| 亚洲JLZZJLZZ少妇| 亚洲日韩乱码中文无码蜜桃臀网站| 国产婷婷成人久久Av免费高清| 久久精品国产精品亚洲| 中文毛片无遮挡高清免费| 亚洲AV无码专区在线播放中文| 久久永久免费人妻精品下载| 亚洲国产精品无码久久久| 成人男女网18免费视频| 羞羞漫画在线成人漫画阅读免费| 亚洲夜夜欢A∨一区二区三区| 青青操在线免费观看| 精品韩国亚洲av无码不卡区| 日韩一级在线播放免费观看| 美女黄色毛片免费看| 亚洲第一极品精品无码久久| 国产高清不卡免费在线| 免费精品视频在线| 亚洲日本中文字幕区| 好大好硬好爽免费视频| 国产裸体美女永久免费无遮挡| 亚洲高清无在码在线无弹窗| 国产成人免费一区二区三区| 久久精品无码精品免费专区| 亚洲人成网站免费播放| 亚洲人成网亚洲欧洲无码久久|