import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
/**
* java.io.ObjectInputStream
* 对象输入流,用于进行对象反序列化
* 需要注意的是对象输入流读取的内容必须是通过
*ObjectInputStream序列化的对象
*
*当一个类实现了可序列化接口,就要定义一个常量:版本号(serialVersionUID)
*版本号决定则对象反序列化是否成功
*反序列化的对象的版本好若与当前类版本号一致,反序列化成功,
*若反序列化对象的结构与当前接口有变化,那么可以还原属性,没有的属性就忽略
*
*transient关键字
*被该关键字修饰的属性在序列化时其值将被忽略
*对象在序列化后得到的字节序列往往比较大,有时常用transient关键字对一个对象的不必要属性进行修饰,达到瘦身的效果
*/
public class ObjectInputStreamDemo {
public static void main(String[] args) throws IOException, ClassNotFoundException {
FileInputStream fis=new FileInputStream("person.obj");
ObjectInputStream ois=new ObjectInputStream(fis);
Person p=(Person)ois.readObject();
System.out.println(p);
ois.close();
}
}
java-IO-objectInputStream
最新推荐文章于 2024-09-15 19:46:31 发布