不知道为什么只输出一个商品?
package homework; //序列化与反序列化2 /* * 序列化:把Java对象转换为字节序列的过程 反序列化:把字节序列恢复为Java对象的过程,就是读对象的过程 */ 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 GoodsTest { //定义一个类去读取数据 public static void main(String[] args) { //定义Goods类对象 Goods goods1 = new Goods("123","iphone","telephone",4888.0); Goods goods2 = new Goods("234","ipad","computer",5088.0); Goods goods3 = new Goods("345","macbook","computer",10688.0); Goods goods4 = new Goods("256","iwatch","watch",4799.0); try { //用于写对象 先写进去再读出来 FileOutputStream fos = new FileOutputStream("hello.txt");//创建一个文件来写信息 ObjectOutputStream oos = new ObjectOutputStream(fos);//对象序列化为字节(写对象的过程) //用于读 FileInputStream fis = new FileInputStream("hello.txt"); ObjectInputStream ois = new ObjectInputStream(fis);//字节反序列化为对象(读对象的的过程) //将Goods对象信息写入文件 oos.writeObject(goods1); oos.writeObject(goods2); oos.writeObject(goods3); oos.writeObject(goods4); oos.flush(); //读对象信息 try { Goods goods =(Goods) ois.readObject(); System.out.println(goods); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } fos.close(); oos.close(); fis.close(); ois.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
1
收起
正在回答 回答被采纳积分+1
2回答
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星