StreamCorruptedException:Valid Stream Header

craks 2002-03-27 12:03:29
有谁知道这是这么回事吗

我是在用ObjectOutputStream,ObjectInputStream时遇到的
...全文
42 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
craks 2002-03-28
  • 打赏
  • 举报
回复
我已经解决了,ObjectOutputStream应该放在ObjectInputStream前,不知道是不是bug,呵呵。

还是谢谢各位
hht 2002-03-27
  • 打赏
  • 举报
回复
写出代码
craks 2002-03-27
  • 打赏
  • 举报
回复
什么格式
hht 2002-03-27
  • 打赏
  • 举报
回复
你传输的对象格式不对
craks 2002-03-27
  • 打赏
  • 举报
回复
在Vector中加入Stirng当然是对的,但我是自己定义的类,并实现了Serializable接口,可是他却说是StreamCorruptedException:Valid Stream Header,有人说是非法的Vector,可我一直不太明白,A不是也实现了
Serializable接口,难道这还错,我都快疯了,
呵呵,我已将分加到了100,希望各位能帮我
GJA106 2002-03-27
  • 打赏
  • 举报
回复
客户端:
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)
{
}
craks 2002-03-27
  • 打赏
  • 举报
回复
你得readObject()才会出错
xhh 2002-03-27
  • 打赏
  • 举报
回复
我编了一个程序试了一下,没有问题:

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);
}
}
craks 2002-03-27
  • 打赏
  • 举报
回复
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);

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧