IO的类型
按字节流和字符流划分
字节流又分为:字节输入流,字节输出流
字节输入流:
1. 文件操作流:FileInputStream
2. 高效缓冲流:BufferdInputStream
3. 对象操作流(序列化流和反序列)ObjectInputStream:
字节输出流:
1. 文件操作流:FileOutputStream
2. 高效缓冲流:BufferdOutputStream
3. 对象操作流(序列化和反序列化):OutjectOutputStream
4. 打印流:PrintStream
字符流分为:字符输入流,字符输出流
字符输入流:
1. 文件操作流:FileReader
2. 高效缓冲流:BufferedReader
3. 转换流:InputStreamReader
字符输出流:
1. 文件操作流:FileWriter
2. 高效缓冲流:BufferedWriter
3. 转换流:OutputStreamWriter
4. 打印流:PrintWriter
文件操作流
1. 类上名的特点
都是以File开头的
2. 作用场景
如果需要读写文件中的数据就使用文件操作流
高效缓冲流
1. 类名上的特点
都是以Buffered开头的
2. 作用场景
1. 如果想要提高效率
2. 如果需要使用特有方法(比如:readline,newline)
转换流:
1. 类名的特点
类名前面有字节流的父类组成(InputStream,OutputStream)
类名的后缀就是由字符流的父类组成(Reader,Writer)
2. 作用场景
1. 当我们需要把字节流转换为字符流的时候可以使用它
2. 当我们需要使用指定码表的时候可以使用它
对象操作流:
1. 类名的特点
都是以Object开头
2. 使用场景
如果需要把对象序列化到文件,或者把文件中的对象反序列化的时候
打印流:
1. 类名的特点
都是以Print开头
2. 引用场景
如果需要自动换行,或者自动刷新
字节流:
1. 类名的特点
都是以Stream结尾
字节输入流以InputStream结尾
字节输出流以OutputStream结尾
字符流:
1. 类名的特点
字符输入流都是以Reader结尾
字符输出流都是以Writer结尾