5-3作业
package com.imooc.serial;
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) {
// 创建对象
Product iphone = new Product(123, "iphone", "telephone", 4888);
Product ipad = new Product(234, "ipad", "computer", 5088);
Product macbook = new Product(345, "macbook", "computer", 10688);
Product iwach = new Product(256, "iwatch", "watch", 4799);
FileOutputStream fos ;
ObjectOutputStream oos;
FileInputStream fis;
ObjectInputStream ois;
// 进入输出操作
try {
fos = new FileOutputStream("test.txt");
oos = new ObjectOutputStream(fos);
// 输入流操作
fis = new FileInputStream("test.txt");
ois = new ObjectInputStream(fis);
// 将对象写入文件
oos.writeObject(iphone);
oos.writeObject(ipad);
oos.writeObject(macbook);
oos.writeObject(iwach);
oos.flush();
// 进行读取文件
System.out.println("apple系列产品信息:");
Product test = null;
try {
while ((test = (Product) ois.readObject()) != null) {
System.out.println(test+"\n");
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ois.close();
oos.close();
fis.close();
fos.close();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
最后正常输出,但是有异常
apple系列产品信息:
产品ID:123
产品名称:iphone
产品属性:telephone
产品价格:4888.0元
产品ID:234
产品名称:ipad
产品属性:computer
产品价格:5088.0元
产品ID:345
产品名称:macbook
产品属性:computer
产品价格:10688.0元
产品ID:256
产品名称:iwatch
产品属性:watch
产品价格:4799.0元
java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:3014)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:464)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
at com.imooc.serial.ProductTest.main(ProductTest.java:39)
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星