把传输对象序列化,你Vector中的对象能序列化吗?

解决方案 »

  1.   

    Vector vec = new Vector();
    vec.add("你的对象");
    try{
       ObjectOutputStream oos = new ObjectOutputStream(res.getOutputStream());
       oos.writeObject(vec);
       oos.flush();
       oos.close();
    }catch(IOException e){
       throw new ServletException("Failed to return.",e);
    }
    看看这段代码有什么启发.res.getOutputStream())其中的res是Response对象
      

  2.   

    主要是这个问题:通过Socket传输,接收方要判断是否已经接收完毕,然后还原。如何实现呢?
      

  3.   

    Please try the "Java Serialization for XML"http://freshmeat.net/projects/jsx/?topic_id=868%2C45%2C50%2C19%2C866Java Serialization for XML (JSX) enables all objects to be written and read as XML, using Java's standard Serialization API.The receiver can validate if the received the XML message is complete.
      

  4.   

    现在很急的啊,要学xml恐怕也来不及。各位大侠,帮帮忙先!能不能举例说明一下?
      

  5.   

    还原不用等到全部接收完毕啊,ObjectInputStream.readObject()在没接收完时是阻塞的。
      

  6.   

    就不用socket传输沙!用rmi非常简单
      

  7.   

    用RMI怎么传?我是JAVA初学者,能否详细说明一下?
      

  8.   

    可以用rmi实现,另外还要看你的Vector中存储的对象是什么类型的?
      

  9.   

    对象需要序列化!!!!!!!!!!!,也就是implements java.io.Serializable
      

  10.   

    //server
    import java.net.*;
    import java.io.*;class ObjectServer{
    public static void main(String[] args)
    throws IOException{
    ServerSocket server=new ServerSocket(5918);
    Socket client=server.accept();
    ObjectOutputStream out=new ObjectOutputStream(client.getOutputStream());
    MyClass myObject=new MyClass();
    out.writeObject(myObject);
    out.flush();
    out.close();
    }
    }
    //classOne==============
    imort java.io.*;public class MyClass implements Serializable{
    private String str="ok";
    private int i=10;
    private MyMember mySubObject=new MyMember();

    public String getStr(){
    return str;
    }

    public int getInt(){
    return i;
    }

    public MyMember getSubObject(){
    return mySubObject;
    }
    }
    //classOne's member================
    import java.io.*;public class MyMember implements Serializable{  //the member var must implement Serializable
    private char[] myArray=new char[]{'a','b','c'};

    public char[] getArray(){
    return myArray;
    }
    }
    //client================
    import java.io.*;
    import java.net.*;class ObjectClient{
    public static void main(String[] args)
    throws Exception{
    Socket client=new Socket("localhost",5918);
    ObjectInputStream in=new ObjectInputStream(client.getInputStream());
    MyClass myObject=(MyClass)in.readObject();
    System.out.println(myObject.getInt());
    System.out.println(myObject.getStr());
    char[] myArry=((MyMember)myObject.getSubObject()).getArray();
    System.out.println(new String(myArry));
    in.close();
    }
    }