1,按照流动方向分
InputStream,Reader -- 流入程序,可能来自文件,网络,String,键盘等输入设备,只能从中读数据
OutputStream,Writer -- 流出程序,比如流入文件,打印机或者屏幕等,只能往其中写数据
例外:.RandomAccessFile
2,按照连接对象分
Node Stream,节点流-- 直接连到数据源
Processing Stream,处理流-- 连结到其它流,是对节点流的增强
3,按照流动对象分
字节流-- InputStream,OutputStream
字符流-- Reader,Writer