IO流的分类:
 * 		流向:
 * 			输入流	读取数据
 * 			输出流 写出数据
 * 		数据类型:
 * 			字节流
 * 				字节输入流	读取数据	InputStream
 * 				字节输出流	写出数据	OutputStream
 * 			字符流
 * 				字符输入流	读取数据	Reader
 * 				字符输出流	写出数据	Writer
 * 
 * 		注意:一般我们在探讨IO流的时候,如果没有明确说明按哪种分类来说,默认情况下是按照数据类型来分的。
-----------------------------------------------------------------------------字节流-----------------------------------------------------------------------------------------------
字节流【输出流】
所有字节输出流的超类(即抽象类):OutputStream--->向文件写数据

但是呢,抽象类不能被实例化,所以我们必须学习其子类:所以我们就学习他的其中一个子类--文件输出流FileOutputStream

字节流【输入流】
所有字节输入流的超类(即抽象类):InputStream--->读取文件数据

但是呢,抽象类不能被实例化,所以我们必须学习其子类:所以我们就学习他的其中一个子类--文件输入流FileOutputStream

-----------------------------------------------------------------------------字符流-----------------------------------------------------------------------------------------------
字符流【输出流】
所有字符输出流的超类(即抽象类):Writer--->向文件写数据

但是呢,抽象类不能被实例化,所以我们必须学习其子类:所以我们就学习他的其中一个子类--文件输出流FileWriter

字符流【输入流】
所有字符输入流的超类(即抽象类):Reader--->读取文件数据

但是呢,抽象类不能被实例化,所以我们必须学习其子类:所以我们就学习他的其中一个子类--文件输入流FileReader

原文:http://www.cnblogs.com/flyings/p/5107589.html