老师我这样写有什么需要改进的吗?

老师我这样写有什么需要改进的吗?

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回答
好帮手慕酷酷 2019-10-25 10:31:38

同学你好,代码编写的不错,但是还有点小问题,

1、Test类中没有method2,method3,method4方法,建议同学将其删除。

如:

http://img1.sycdn.imooc.com//climg/5db25d85091049bc05010223.jpg

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

如:

http://img1.sycdn.imooc.com//climg/5db25e6d09bfa1e605980526.jpg

修改后的代码如下:

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();
        }
    }
}

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师