在Java开发中,Java中IO流相信很多小伙伴们都会用到,但是有很多的小伙伴对他的掌握并不是很牢靠,下面小编帮助各位小伙伴们在重新复习一下。
I/O流
流:数据传输的通道。流的分类: 按传输的类型:字符流和字节流 按流向:输入流和输出流。 字节流:inputstream outputstream 字符流:reader writer 缓冲流:buffered+流 打印流:printStream printWriter 转换流:inputstreamReaderoutputstreamWriter 区别:至于outputstream在执行write时不需要刷新缓冲,其他的输出流都需要执行一个刷新缓冲区的操作。 byte[] char[] datainputstream和dataoutputstream可以写java的基本数据类型。 如果要写一个对象的所以的属性值,如果属性值很多实用data数据流很麻烦,而且有些属性(引用类型)就无法处理。
------------》对象流
ObjectInputStream OBjectOutputStream.需要使用对象流的对象的类必须要实现序列化接口。 序列化和反序列化。 序列化:将一个具体的对象的数据转换为一堆字节数据的过程。 反序列化:将一堆字节数据转换为一个具体对象实例的过程。 如何实现: 标记接口:Serializable,Cloneable……//只定义了一种功能,没有具体的内容。它的功能实现由JVM的底层实现。 要实现序列化的类的对象,里面所有的属性都必须实现序列化接口。 基本类型和String默认都实现了这个接口,所以不需要处理。 类中的一个属性不参与序列化:transsient,表示标记的属性不参与序列化。 static定义的变量也不参与序列化。