1.基本概念
I/O流就是Input/Output的简写,也就是输入/输出的含义。
按照读写单位的不同分为:字节流和字符流
字节流:主要指以字节为单位进行读写的流,可以用于任何文件的读写;
字符流:主要指以字符(2字节)为单位进行读写的流,只能用于文本文件的读写操作;
按照数据流动方向的不同分为:输入流和输出流(站在程序的角度)
输入流-主要指读取文件中的内容输入到程序中,也就是读文件;
输出流:主要指将程序中瘈数据输出到文件中,也就是写文件;
2.IO流的层次结构
字节流的顶层类:InputStream和OutputStream;
InputStream类的主要实现子类:
FileInputStream类,DataInputStream类(间接子类)和ObjectInputStream类;
OutputStream类的主要实现子类:
File OutputStream类,Data OutputStream类(间接子类)和ObjectOutputStream类
字符流的顶层类:Reader和Writer类
Reader类的主要实现子类:
BufferedReader类,InputStreamReader类和StringReader类;
Writer类的主要实现子类:
BufferedWriter类,OutputStreamWriter类和StringWriter类;
补充:
java.io.PrintStream类是OutputStream类间接子类,通常与BufferReader搭配使用