【发布时间】:2017-06-23 02:52:11
【问题描述】:
我有两个类,它们都实现了 Serializable 接口。我想通过套接字发送这两个类的对象。
我了解为类实现 Serialize 会使其对象转换为字节流以存储在文件中或通过 Internet 传输。
我的问题是:有什么方法可以标记对象,以便我可以轻松地在服务器端读取传入的 ObjectStream 吗?
标记为:
客户端:
ObjectOutputStream.writeObject(obj1 + "," + obj2);
其中 obj1 和 obj2 是可序列化类的对象。
服务器端:
SomeTokenizer st = new SomeTokenizer(ObjectInputStream.readObject(), ",");
Class1 obj1 = st.nextToken();
Class2 obj2 = st.nextToken();
谢谢!
【问题讨论】:
-
为什么?
ObjectInputStream.readObject()突然有问题?只需逐个写出这两个对象,然后以相同的方式读取它们。 -
好的!但是,我是新来的,我不明白为什么我的问题被否决了? @EJP
-
@yshavit 不,它们不可标记,并且说它们不是“换一种方式”。 OP 的代码将编写一个由
obj1.toString()+","+obj2.toString()组成的String,而这是否是可标记的或在任何方面确实有用仍然完全没有实际意义。 -
@EJP 你说得对,当可能引起混淆时,我应该更加小心地以类比的方式抛出术语。
标签: java sockets serialization