欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java 对象序列号 Externalizable,javaexternalizable,import java.

来源: javaer 分享于  点击 20942 次 点评:248

Java 对象序列号 Externalizable,javaexternalizable,import java.


import java.util.*;import java.io.*;import java.net.*;public class SerializableList extends ArrayList implements Externalizable {  public void writeExternal(ObjectOutput out) throws IOException {   out.writeInt(size());   for (int i = 0; i < size(); i++) {     if (get(i) instanceof Serializable) {       out.writeObject(get(i));     }     else {       out.writeObject(null);     }    }   }  public void readExternal(ObjectInput in)   throws IOException, ClassNotFoundException {   int elementCount = in.readInt();   this.ensureCapacity(elementCount);   for (int i = 0; i < elementCount; i++) {     this.add(in.readObject());   }  }     public static void main(String[] args) throws Exception {    SerializableList list = new SerializableList();    list.add("Element 1");    list.add(new Integer(9));    list.add(new URL("<a href="http://www.oreilly.com/">http://www.oreilly.com/"));    // not Serializable    list.add(new Socket("www.oreilly.com", 80));    list.add("Element 5");    list.add(new Integer(9));    list.add(new URL("<a href="http://www.oreilly.com/">http://www.oreilly.com/"));    ByteArrayOutputStream bout = new ByteArrayOutputStream();    ObjectOutputStream temp = new ObjectOutputStream(bout);    temp.writeObject(list);    temp.close();    ByteArrayInputStream bin = new ByteArrayInputStream(bout.toByteArray());    ObjectInputStream oin = new ObjectInputStream(bin);    List out = (List) oin.readObject();    Iterator iterator = out.iterator();    while (iterator.hasNext()) {      System.out.println(iterator.next());    }  }}//该片段来自于http://byrx.net
相关栏目:

用户点评