作业 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回答
同学你好,复制运行贴出代码,运效果没有问题,除了命名规范的问题,代码完成没有问题,很棒呐,继续加油~
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题