怎么用循环的方法来实现 对象序列化的 写入或读取?
package com.imooc.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; public class ProductTest { public static void main(String[] args) throws ClassNotFoundException { // TODO Auto-generated method stub FileOutputStream fos; FileInputStream fis; ObjectOutputStream oos; ObjectInputStream ois; Product iphone=new Product(123,"iphone","telephone",4888.0); Product ipad=new Product(234,"ipad","computer",5088.0); Product macbook=new Product(345,"macbook","computer",10688.0); Product iwatch=new Product(256,"iwatch","telephone",4799.0); try { fos=new FileOutputStream("test.txt"); oos=new ObjectOutputStream(fos); oos.writeObject(iphone);//逐个写入,可否有其他方法? oos.writeObject(ipad); oos.writeObject(macbook); oos.writeObject(iwatch); oos.flush(); fos.close(); oos.close(); fis=new FileInputStream("test.txt"); ois=new ObjectInputStream(fis); System.out.println("Apple系列产品信息:"); System.out.println((Product)(ois.readObject()));//一个一个地读取,有没有其他办法? System.out.println((Product)(ois.readObject())); System.out.println((Product)(ois.readObject())); System.out.println((Product)(ois.readObject())); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
大家好,如上代码,可以实现5-1的练习题要求,但也让我提出了一个疑问,有没有办法像读取字节或字符一样,使用循环的方法实现读写呢? 尝试了 当ois.readObject()!=null时进行读取,可以成功读取,但最后会抛出异常,求高人指教,谢谢了.
22
收起
正在回答 回答被采纳积分+1
1回答
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7238 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星