IO流总结
按流的方向分(程序角度)
- 输入流:数据源到程序(InputStream、Reader 读进来)。
- 输出流:程序到目的地(OutPutStream、Writer 写出去)。
按流的处理数据单元分类
- 字节流:按照字节读取数据(InputStream、OutputStream)。 以Stream结尾的都是字节流
- 字符流:按照字符读取数据(Reader、Writer)。以Reader / Writer结尾的都是字符流
按流的功能分类
- 节点流:可以直接从数据源或目的地读写数据。
- 处理流:不直接连接到数据源或目的地,是处理流的流。通过对其他流的处理提高程序的性能。
IO 的四个基本抽象类:InputStream、OutputStream、Reader、Writer
InputStream 的实现类:
- FileInputStream:文件字节输入流
- ByteArrayInutStream:字节数组的字节输入流
- BufferedInputStream:字节缓冲输入流
- DataInputStream:数据的字节输入流
- ObjectInputStream:对象的字节输入流
OutputStream 的实现类:
- FileOutputStream:文件的字节输出流
- ByteArrayOutputStream:字节数组的字节输出流
- BufferedOutputStream:字节缓冲输出流
- DataOutputStream:数据的字节输出流
- ObjectOutputStream:对象的字节输出流
- PrintStream:字节输出流
Reader 的实现类
- FileReader:文件字符输入流
- BufferedReader:文件缓冲字符输入流
- InputStreamReader:字节转字符输入流
Writer 的实现类
- FileWriter:文件字符输出流
- BufferedWriter:文件缓冲字符输出流
- OutputStreamWriter:字节转字符的输出流