作业 5-3
来源:5-3 自由编程
jia_蛙
2019-09-12 22:00:10
public class AppleProduct implements Serializable{ private String ProductId;//产品id private String ProductName;//产品名称 private String ProductNature;//产品属性 private Double ProductPrice;//产品价格 public AppleProduct(String productId, String productName, String productNature, Double productPrice) { super(); ProductId = productId; ProductName = productName; ProductNature = productNature; ProductPrice = productPrice; } public String getProductId() { return ProductId; } public void setProductId(String productId) { ProductId = productId; } public String getProductName() { return ProductName; } public void setProductName(String productName) { ProductName = productName; } public String getProductNature() { return ProductNature; } public void setProductNature(String productNature) { ProductNature = productNature; } public Double getProductPrice() { return ProductPrice; } public void setProductPrice(Double productPrice) { ProductPrice = productPrice; } @Override public String toString() { return "apple系列产品信息:\n" + "产品ID:" + ProductId + "\n产品名称:" + ProductName +"\n产品属性:" + ProductNature + "\n产品价格:" + ProductPrice + "元"; } }
public class AppleProductTest { public static void main(String[] args) { try { //创建Apple对象 AppleProduct apple1 = new AppleProduct("123","iphone","telephone",4888.0); AppleProduct apple2 = new AppleProduct("234","ipad","computer",5088.0); AppleProduct apple3 = new AppleProduct("345","macbook","computer",10688.0); AppleProduct apple4 = new AppleProduct("456","iwatch","watch",4799.0); //创建FileoutputStream对象.并指定对象要写入的文件 FileOutputStream fos = new FileOutputStream("Apple.txt"); //创建对象输出流 将FileOutputStream 对象作为参数 写入文件中 ObjectOutputStream oos = new ObjectOutputStream(fos); //创建FileInputStream对象 执行要读取对象所在的文件 FileInputStream fis = new FileInputStream("Apple.txt"); //创建对象输入流 将FileInputStream对象作为参数 输出出来 ObjectInputStream ois = new ObjectInputStream(fis); //序列化: 将Apple对象转换为字节序列存储在文件中 oos.writeObject(apple1); oos.writeObject(apple2); oos.writeObject(apple3); oos.writeObject(apple4); oos.flush(); oos.close(); fos.close(); //反序列化:将字节序列恢复为Java对象 //返回的对象是Object类型 这里我们需要强转, //因为Apple对象已经toString 可以直接输出 AppleProduct a1 = (AppleProduct)ois.readObject(); AppleProduct a2 = (AppleProduct)ois.readObject(); AppleProduct a3 = (AppleProduct)ois.readObject(); AppleProduct a4 = (AppleProduct)ois.readObject(); System.out.println(a1 + "\n"); System.out.println(a2 + "\n"); System.out.println(a3 + "\n"); System.out.println(a4 + "\n"); fos.close(); oos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } }
老师你看一下,名字是我自己取的,当时每看完下面的要求就做, 改起来有点麻烦 就没改了 ,您看一下, 除了命名,其他有没有需要改进的
1回答
同学你好,复制运行贴出代码,运效果没有问题,除了命名规范的问题,代码完成没有问题,很棒呐,继续加油~
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题