IO流的分类和使用

IO流可以分为节点流和处理流。

节点流包含了:

字节流:InputStream和OutputStream、FileInputStream和FileOutputStream,ByteArrayIntputStream和ByteArrayOutputStream。其中InputStream和OutputStream是抽象类不能实例化。字节流可以处理一切的文件。

字符流 :Writer和Reader、FileWriter和FileReader其中Writer与Reader是抽象类不能实例化。字符流只能处理文本文件。

处理流:采用了装饰设计模式,对基本流进行包装,功能加强。

InputStreamReder和OutputStreamWriter:用于解码和编码。解决字符编码的问题。

BufferedInputStream与BufferOutputStream、BufferedReader与BufferedWriter这两个类是缓冲流类,提高了性能。

引用对象处理流

DataInputStream与DataOutputStream、ObjectInputstream与OutputStream。前面那个是处理基本数据类型的流,后面处理引用类型对象流,要注意的是引用对象需要实现java.io.Serializable接口并且设置private static final long serialVersionUID = 1L;即所谓的序列化和反序列化。这样才能保存数据加类型。当然如果属性不想序列化或者没必要序列化则需要在属性加关键字transient如:private transient int id;

猜你喜欢

转载自blog.csdn.net/qq_35681797/article/details/82149486