1.流从流动方向上看:一般分为输入流和输出流
输入流:如System.in是一个InputStream类型输入流
输出流:如System.out 是一个PrintStream类型输出流
2.从读取类型上分:一般分为字节流和字符流
字节流:如System.in是一个InputStream类型字节流
字符流:如new InputStreamReader(System.in)是一个字符流对象
3.流从发生的源头:分为节点流和过滤流类
节点流:直接操作目标设备对应的流
如文件流,标准输入输出流
过滤流:继承带有关键字Filter的流
用于包装操作节点流,方便读写各种类型的数据