1、输入有InputStream和Reader两种抽象类,前者是字节输入流后者是字符输入流;
输出有OutputStream和Writer两种抽象类,前者是字节输出流后者是字符输出流。
2、处理文件I/O的有FileInputStream、FileReader、FileOutputStream、FileWriter四个。
3、由于对于不同的输入输出设备要使用不同的I/O不太方便,所以Java对传统的节点流进行了封装,封装成了处理流PrintStream、PrintWriter(这两个都是处理输出流的)。通常如果要输出文本内容,都应该将输出流封装成PrintStream后进行输出。
4、通常如果要读取的是文本内容,会将输入流包装成BufferedReader。