1. IO流的结构图
2. 流的概念和作用
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。
流按照流向数据流向可以分为输入流和输出流
流按照处理数据类型的单位不同又分为字符流和字节流。
输出流:Wirter和OutputStream为基类
输入流:Reader和OutputStream为基类
3.字节流
(1).字节流基类
1).InputStream
InputStream:字节输入流基类,抽象类是表示字节输入流的所有类的超类。
2).OutputStream
OutputStream:字节输出流基类,抽象类是表示输出字节流的所有类的超类。
(2).字节文件操作流
1).FileInputStream
FileInputStream:字节文件输入流,从文件系统中的某个文件中获得输入字节,用于读取诸如图像数据之类的原始字节流。
2).FileOutputStream
FileOutputStream:字节文件输出流是用于将数据写入到File,从程序中写入到其他位置。
(3).字节缓冲流(高效流)
1).BufferedInputStream
BufferedInputStream:字节缓冲输入流,提高了读取效率。
2).BufferedOutputStream
BufferedOutputStream:字节缓冲输出流,提高了写出效率。
4.字符流
4.字符流
(1).字符流基类
1).Reader
Reader:读取字符流的抽象类.
2).Writer
Writer:写入字符流的抽象类.
(2).字符转换流
1).InputStreamReader
InputStreamReader:字节流转字符流,它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。
2).OutputStreamWriter
OutputStreamWriter:字节流转字符流。
(3).字符缓冲流(高效流)
1).BufferedReader
BufferedReader:字符缓冲流,从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
2).BufferedWriter
BufferedWriter:字符缓冲流,将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
(4).FileReader、FileWriter
FileReader:InputStreamReader类的直接子类,用来读取字符文件的便捷类,使用默认字符编码。
FileWriter:OutputStreamWriter类的直接子类,用来写入字符文件的便捷类,使用默认字符编码。