怎么用循环的方法来实现 对象序列化的 写入或读取?
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 份
- 解答问题 7235 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星