对象的反序列化流_ObjectInputStream和transient关键字瞬态关键字
对象的反序列化流_ObjectInputStream
package com.yang.Test.ObjectStreamStudy;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
/**
* java.io.ObjectInputStream extends InputStream
* ObjectInputStream:对象的反序列化
* 作用:把文件中保存的对象,以流的方式读取出来使用
*
* 构造方法:
* ObjectInputStream(InputStream in)创建从指定InputStream读取的ObjectInputStream
* 参数:
* InputStream in:字节输入流
* 特有的成员方法:
* Object readObject()从ObjectInputStream读取对象
* 特有的成员方法:
* Object readObject()从ObjectInputStream读取对象
*
* 使用步骤
* 1.创建ObjectInputStream对象,构造方法中传递字节输入流
* 2.使用ObjectInputStream对象中的方法readObject读取保存对象文件
* 3.释放资源
* 4.使用读取出来的对象(打印)
*/
public class ObjectInputStreamStudy {
public static void main(String[] args) throws IOException, ClassNotFoundException {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("Document\\Person.txt"));
Person p = (Person) ois.readObject();
System.out.println(p.toString());
ois.close();
}
}
transient关键字瞬态关键字
static关键字:静态关键字
静态优先于静态加载到内存中(静态优先于对象进入到内存中)
被static修饰的成员变量不能被序列化,序列化的都是对象
Private static int age;
Person{name='小美女', age=0}
transient关键字:瞬态关键字
被transient修饰成员变量,不能被序列化