序列化
序列化流
ObjectOutputStrean类-------将对象写入文件
//未实现Serializable接口,会报错,没有序列化
需要序列化的类,需要实现Serializable,
需要写入的类,要实现Serializable接口 (起到一个标记作用)
反序列化流
ObjectInputStrean类-------将对象从文件中读取
注意事项:
transient 关键字(序列化时,被标记的属性,不会被序列化读出)
将age标记为transient,可以写入不能被序列化读出来
被transient标记的属性,为瞬态,不可被序列化--------作用相当于static,但没有static的意义
反序列化操作
序列号冲突 .class文件序列号和.txt文件序列号不同
序列化之后,.class文件和.txt文件中都会生成serialVersionUID序列号,如果在反序列化之前,.class文件的序列号
序列化和反序列化练习
打印流
System.setOut()方法改变输出语句的目的地(打印流的流向)
通过setOut()方法,改变输出语句目的地,为打印流的目的地---目标文件