不知道为什么只输出一个商品?
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 星