序列化

序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,将数据分解成字节流,以便存储在文件中或在网络上传输,可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间

2.对象的系列化,就是将Object转换为byte序列,反之叫对象的反序列化

3.序列化流(ObjectOutputStream),是过滤流 :writeObject,反序列流(ObjectInputSteam) :readObject

4.序列化接口(Serializable)

对象必须实现序列化接口,才能进行序列化

这个接口没有方法,只是一个标准。

5.Transient关键字,可以使属性不进行默认的序列化

Transient 关键字的作用是控制变量的序列化,在变量声明前加上该关键字,可以阻止该变量被序列化到文件中,在被反序列化后,transient 变量的值被设为初始值,如 int 型的是 0,对象型的是 null

6.序列化中子类和父类序列化函数的调用

一个类实现了序列化接口,那么其子类都可以实现序列化

对子类对象进行反序列操作时如果其父类没有实现序列化操作那么其父类的构造函数会被调用

7.打印流

*通过定义的构造方法可以发现,有一个构造方法可以直接接收OutputStream类的实例,与OutputStream相比起来,PrintStream可以更方便的输出数据,相当于把OutputStream类重新包装了一下,使之输出更方便

*PrintStream和PrintWrite

将基本数据类型的数据格式转化为字符串输出

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.PrintStream;


public class PrintDemo {

    public static void main(String[] args) {

        File file=new File("C:\\NIE\\nie.txt");

        PrintStream pr=null;

        try{

             pr=new PrintStream(new FileOutputStream(file));

        }catch(IOException e){

            System.out.println("打印流出现异常");

        }

        pr.println("hello");

        pr.print(123);

        pr.println("yes");

        pr.close();

    }

}