将对象序列化
package com.cvicse.io.demo; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; /** * 对象序列化:将保存到内存对象数据转换为二进制数据流传输的操作 ObjectInputStream ObjectOutputStream * 对象输入流,对象输出流 * * @author 13169 * */ //此类对象可以被序列化 class Book implements Serializable { /** * */ private static final long serialVersionUID = 1L; //private transient String title; 加上transient 关键字表示此属性不能被序列化 private String title; private double price; public Book() { } public Book(String title, double price) { this.title = title; this.price = price; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } @Override public String toString() { return "Book [title=" + title + ", price=" + price + "]"; } } public class SerializableDemo { public static void main(String[] args) throws Exception { ser(); dser(); } /** * 序列化 将对象序列化到文件中 */ public static void ser() throws Exception { ObjectOutputStream oos = new ObjectOutputStream( new FileOutputStream(new File("E:" + File.separator + "IODemo" + File.separator + "book.ser"))); oos.writeObject(new Book("Java 編程思想", 102.9)); oos.close(); } /** * 反序列化 将对象从文件中反序列化到程序中 */ public static void dser() throws FileNotFoundException, IOException, ClassNotFoundException { ObjectInputStream ois = new ObjectInputStream( new FileInputStream(new File("E:" + File.separator + "IODemo" + File.separator + "book.ser"))); Object book = ois.readObject(); System.out.println(book); ois.close(); } }