老师我这样写有什么需要改进的吗?
import java.io.*;
public class Test {
Product product1 = new Product(123,"ipone","telephone",4888.0);
Product product2 = new Product(234,"ipad","computer",5088.0);
Product product3 = new Product(345,"macbook","computer",10688.0);
Product product4 = new Product(256,"iwatch","watch",4799.0);
public static void main(String[] args) {
Test test = new Test();
test.method1();
test.method2();
test.method3();
test.method4();
}
public void method1(){
try {
FileOutputStream fos1 = new FileOutputStream("imooc.txt");
ObjectOutputStream oos1 = new ObjectOutputStream(fos1);
FileInputStream fos2 = new FileInputStream("imooc.txt");
ObjectInputStream oos2 = new ObjectInputStream(fos2);
oos1.writeObject(product1);
oos1.flush();
try {
Product product = (Product) oos2.readObject();
System.out.println(product);
System.out.println();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
fos1.close();
oos1.close();
fos2.close();
oos2.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
正在回答 回答被采纳积分+1
同学你好,代码编写的不错,但是还有点小问题,
1、Test类中没有method2,method3,method4方法,建议同学将其删除。
如:

2、 建议同学将其他几个Product类对象也进行写入并读取,将代码补充完整哦~
如:

修改后的代码如下:
import java.io.*;
public class Test {
Product product1 = new Product(123, "ipone", "telephone", 4888.0);
Product product2 = new Product(234, "ipad", "computer", 5088.0);
Product product3 = new Product(345, "macbook", "computer", 10688.0);
Product product4 = new Product(256, "iwatch", "watch", 4799.0);
public static void main(String[] args) {
Test test = new Test();
test.method1();
// test.method2();
// test.method3();
// test.method4();
}
public void method1(){
try {
FileOutputStream fos1 = new FileOutputStream("imooc.txt");
ObjectOutputStream oos1 = new ObjectOutputStream(fos1);
FileInputStream fos2 = new FileInputStream("imooc.txt");
ObjectInputStream oos2 = new ObjectInputStream(fos2);
oos1.writeObject(product1);
oos1.writeObject(product2);
oos1.writeObject(product3);
oos1.writeObject(product4);
oos1.flush();
try {
Product product1 = (Product) oos2.readObject();
System.out.println(product1);
Product product2 = (Product) oos2.readObject();
System.out.println(product2);
Product product3 = (Product) oos2.readObject();
System.out.println(product3);
Product product4 = (Product) oos2.readObject();
System.out.println(product4);
System.out.println();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
fos1.close();
oos1.close();
fos2.close();
oos2.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
}如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星