class A implements Serializable{}
class B implements Serializable{
  Vector c=new Vector();
  public addA(A a){
    c.addElement(a);
  }
}
out 是ObjectOutputStream的实例
B b=new B();
out.writeObject(b);

解决方案 »

  1.   

    我编了一个程序试了一下,没有问题:import java.util.*;
    import java.io.*;class A implements Serializable{}
    public class B implements Serializable{
    Vector c = new Vector();
    public void addA(A a){
    c.addElement(a);
    }
    public static void main(String[] args) throws IOException{
    B b=new B();
    b.addA(new A());
    b.addA(new A());
    b.addA(new A());
    FileOutputStream fos = new FileOutputStream("E:\\XHH\\temp\\test.xhh");
    ObjectOutputStream oos = new ObjectOutputStream(fos);
    oos.writeObject(b);
    }
    }
      

  2.   

    客户端:
    mVector.addElement("aa");
         mVector.addElement("bb");
         try
         {
           mSocket = new Socket("192.188.0.5",9009);       dos = new DataOutputStream(mSocket.getOutputStream());
           ObjectOutputStream oos = new ObjectOutputStream(dos);
           oos.writeObject(mVector);
         }
         catch(Exception eSocket)
         {
         }服务端:
    try
         {
           mServerSocket = new ServerSocket(9009,15);
           mSocket = mServerSocket.accept();       dis = new DataInputStream(mSocket.getInputStream());
           ObjectInputStream ois = new ObjectInputStream(dis);
           mVector = (Vector)ois.readObject();
           for(int i = 0 ; i < mVector.size(); i ++)
           {
             System.out.println("输出:" + (String)mVector.elementAt(i));
           }
         }
         catch(Exception eSocket)
         {
         }
      

  3.   

    在Vector中加入Stirng当然是对的,但我是自己定义的类,并实现了Serializable接口,可是他却说是StreamCorruptedException:Valid Stream Header,有人说是非法的Vector,可我一直不太明白,A不是也实现了
    Serializable接口,难道这还错,我都快疯了,
    呵呵,我已将分加到了100,希望各位能帮我
      

  4.   

    我已经解决了,ObjectOutputStream应该放在ObjectInputStream前,不知道是不是bug,呵呵。还是谢谢各位