IO流的分类: 1、根据流的数据对象来分: 高端流:所有的内存中的流都是高端流,比如:InputStreamReader
低端流:所有的外界设备中的流都是低端流,比如InputStream,OutputStream 如何区分:所有的流对象的后缀中包含Reader或者Writer的都是高端流,反之,则基本上为低端流,不过也有例外,比如PrintStream就是高端流 2、根据数据的流向来分: 输出流:是用来写数据的,是由程序(内存)--->外界设备 输入流:是用来读数据的,是由外界设备--->程序(内存) 如何区分:一般来说输入流带有Input,输出流带有Output 3、根据流数据的格式来分: 字节流:处理声音或者图片等二进制的数据的流,比如InputStream 字符流:处理文本数据(如txt文件)的流,比如InputStreamReader
如何区分:可用高低端流来区分,所有的低端流都是字节流,所有的高端流都是字符流 4、根据流数据的包装过程来分: 原始流:在实例化流的对象的过程中,不需要传入另外一个流作为自己构造方法的参数的流,称之为原始流。 包装流:在实例化流的对象的过程中,需要传入另外一个流作为自己构造方法发参数的流,称之为包装流。 如何区分:所以的低端流都是原始流,所以的高端流都是包装流