<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
    主站蜘蛛池模板: 中文字幕乱码免费看电影| 大片免费观看92在线视频线视频| 毛片a级毛片免费播放下载| 一本到卡二卡三卡免费高| 国内精品久久久久影院亚洲| 中文字幕精品无码亚洲字 | 精品国产麻豆免费网站 | 久久亚洲精品成人777大小说| 91精品视频免费| 91精品国产免费| 日本免费电影一区二区| 福利免费在线观看| 三年片免费高清版| 久久久久久毛片免费看| 无码精品人妻一区二区三区免费| 亚洲入口无毒网址你懂的| 亚洲视频在线观看网站| 亚洲精品第五页中文字幕| 久久夜色精品国产嚕嚕亚洲av| 亚洲人成伊人成综合网久久久| 一本色道久久88亚洲综合 | 日韩人妻无码精品久久免费一| 中文字幕在线免费视频| 免费看一区二区三区四区| 国产一级高青免费| 91热成人精品国产免费| 青青青国产在线观看免费网站| 免费A级毛片无码免费视| 日韩中文无码有码免费视频| 少妇亚洲免费精品| 亚洲AV无码一区二区二三区入口| 亚洲嫩模在线观看| 亚洲中文字幕无码久久| 精品人妻系列无码人妻免费视频| 一区二区三区无码视频免费福利| 亚洲国产精品免费在线观看| 成人性生免费视频| 亚洲精品高清久久| 真正全免费视频a毛片| 69视频在线观看高清免费| 日韩精品无码人妻免费视频|