IO流总结


IO流
流的作用:进行数据传输的作用。
按照读写单位的大小分类:字节流和字符流
字节流的父类:
输出流:OutputStream
输入流:InputStream

输出流有个特点,制定的文件不存在,会自动创建此文件。

1:文件输出输入字节流
FileInputStream
FileOutputStream
构造器的特点:
输出流的构造器
[]:表示可有可无
FileOutputStream(File file[,boolean append])
FileOutputStream(String filepath[,boolean append])
输入流的构造器:
FileInputStream(File file)
FileInputStream(String filepath)
2:缓冲字节流:设计了一个缓冲区的机制。读写效率高
BufferedOutputStream的构造器
BufferedOutputStream(OutputStream os)
BufferedInputStream的构造器
BufferedInputStream(InputStream is)

3:DataOutpuStream和DataInputStream
数据输入输出流
构造器都要传参:传入的是一个字节流。
DataOutpuStream(OutputStream os)
DataInputStream(InputStream is)
4:对象输入输出流:
ObjectOutputStream和ObjectInputStream
构造器都要传参:传入的是一个字节流
作用:
对象输出流:是将对象转换成一串字节序列(序列化)
对象输入流: 是将一串字节转换成对象(反序列化)

序列化时应注意的特点:
1:被序列化的对象的类型必须实现Serializable接口
2:提供序列化版本号的属性。
(以防类型被改变后不能反序列的问题出现-兼容性问题)
序列化的修饰词:transient
作用是:对象的某些属性没必要持久化时,可以在类型的
这些属性前添加此修饰词
===================================
字符流:读写时都是以字符为单位进行的。
1:字符流的父类:
输出流:Writer
输入流:Reader
2:OutputStreamWriter:
构造器如下:
输出流的构造器:
OutputStreamWriter(OutputStream os)
OutputStreamWriter(OutputStream os,String charset)
InputStreamReader:
构造器如下:
输入流的构造器:
InputStreamReader(InputStream is[,String charset])
3:缓冲字符流:
BufferedWriter
字符输出缓冲流
构造器: BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file,true),"utf-8"));
BufferedReader
字符输入缓冲流
构造器: BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));

printWriter
构造器:
printWriter(new OutputStreamWriter(new FileOutputStream("src\ZiFuLiu\a.txt",true),"utf-8"),true);

FileWriter
构造器:
FileWriter(File file,boolean append)
FileWriter(String filepath,boolean append)

FileReader
构造器:
FileReader(File file)
FileReader(String filepath)















原文地址:https://www.cnblogs.com/lyr999736/p/9120622.html