老师您看我这个写的符合要求吗?

老师您看我这个写的符合要求吗?

//Product

package Homework5_3;

import java.io.Serializable;

public class Product implements Serializable {
	private String id;
	private String name;
	private String categories;
	private double price;
	public Product() {
		
	}
	@Override
	public String toString() {
		return "产品ID:"+id+"\n产品名称:"+name+"\n产品属性:"+categories+"\n产品价格:"+price;
	}
	public Product(String id, String name, String categories, double price) {
		this.id = id;
		this.name = name;
		this.categories = categories;
		this.price = price;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getCategories() {
		return categories;
	}
	public void setCategories(String categories) {
		this.categories = categories;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}

}
//Test
package Homework5_3;

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 Test {

	public static void main(String[] args) {
		Product iphone = new Product("123", "iphone", "telephone", 4888.0);
		Product ipad = new Product("234", "ipad", "computer", 5088.0);
		Product macbook = new Product("456", "macbook", "computer", 10688.0);
		Product iwatch = new Product("256", "iwatch", "watch", 4799.0);
		try {
			FileOutputStream fos = new FileOutputStream("apple.txt");
			ObjectOutputStream oos = new ObjectOutputStream(fos);
			FileInputStream fis = new FileInputStream("apple.txt");
			ObjectInputStream ois = new ObjectInputStream(fis);
			oos.writeObject(iphone);
			oos.writeObject(ipad);
			oos.writeObject(macbook);
			oos.writeObject(iwatch);
			oos.writeObject(null);
			oos.flush();
			oos.close();
			fos.close();
			Product temp = null;
			System.out.println("Apple产品信息:");
			while ((temp = (Product) ois.readObject()) != null) {
				System.out.println("\n"+temp);
			}
			ois.close();
			fis.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}

	}

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿满 2018-08-31 18:38:58

你写的代码符合要求,请继续加油。

祝:学习愉快!

chrismorgen 2018-08-31 18:36:13

效果完成的不错,不过建议你将io流的关闭写在finally代码块中,这样即使发生异常也可以将流关闭。祝学习愉快~

  • RSF #1
    oos.writeObject(null);请问这个表示什么
    2018-09-22 22:34:27
  • 好帮手慕珊 回复 RSF #2
    oos.writeObject(null);表示输出一个null值到文档中。祝学习愉快!
    2018-09-22 23:14:52
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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