java对象序列化读取所有对象_关于java序列化多个对象存取与读取的问题(万分感谢)...

importtravelsky.eb.yteng.model.Student;publicclassSerializableTestListError{privatestaticListlistStudentObject=newArrayList();privatestaticListlist...

import travelsky.eb.yteng.model.Student;

public class SerializableTestListError {

private static List listStudentObject=new ArrayList();

private static List listCarObject=new ArrayList();

private static List listObject=new ArrayList();

public static void main(String[] args) throws IOException {

Student stu1=new Student(001, "yteng1", 20);

Student stu2=new Student(002,"yteng2",21);

Car car1=new Car("DazsAuto", "ShangHai", 200000.0);

Car car2=new Car("Ford","JiangSu",30000.00);

SerializableTestListError serializableTestInstance= new SerializableTestListError();

listObject.add(car2);

listObject.add(car1);

listObject.add(stu1);

listObject.add(stu2);

writeObject2File(listObject,"D:\\date1.txt");

try {

readObjectFromFile("D:\\date1.txt");

} catch (SerilizableException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

}

for(Iterator iterCar=listCarObject.iterator();iterCar.hasNext();){

System.out.println(iterCar.next());

}

for(Iterator iterStudent=listStudentObject.iterator();iterStudent.hasNext();){

System.out.println(iterStudent.next());

}

}

public static void writeObject2File(Listo,String fileName) throws IOException{

FileOutputStream fout=new FileOutputStream(fileName,true);

ObjectOutputStream sout=new ObjectOutputStream(fout);

for(int i=0;i

sout.writeObject(o.get(i));

}

sout.close();

System.out.println("写入对象成功!");

}

public static void readObjectFromFile(String fileName) throws Exception{

FileInputStream fin=new FileInputStream(fileName);;

BufferedInputStream bis=new BufferedInputStream(fin);

ObjectInputStream oip=null;

while(true){

try{

oip=new ObjectInputStream(bis); //每次重新构造对象输入流

}catch(EOFException e)

{

System.out.println("已达文件末尾");//如果到达文件末尾,则退出循环

break;

}

Object object=new Object();

object=oip.readObject();

if(object instanceof Student) { //判断对象类型

listStudentObject.add((Student)object);

}

else if(object instanceof Car){

listCarObject.add((Car)object);

}

}

oip.close();

bis.close();

fin.close();

}

}错误如下: 跪求啊

java.io.StreamCorruptedException: invalid stream header: 7371007E

at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:783)

at java.io.ObjectInputStream.(ObjectInputStream.java:280)

at travelsky.eb.yteng.test.SerializableTestListError.readObjectFromFile(SerializableTestListError.java:78)

at travelsky.eb.yteng.test.SerializableTestListError.main(SerializableTestListError.java:43)

Student [id=1, name=yteng1, age=20]

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值