前段时间回顾一下IOStream,对流的知识进行再整理,现在分享给大家:
首先 IOStream 有三种分类方式:
1、流向分:输入流、输出流
1> 输入流:InputStream、Reader(抽象类)
2> 输出流:OutputStream、Writer
2、流的数据单位分:字节流、字符流
1> 字节流:InputStream、OutputStream
2> 字符流:Reader、Writer
3、功能分:节点流、处理流
1> 节点流:直接操作数据,eg. FileInputStream、FileOutputStream
2> 处理流:进过对节点流包装,再进行数据操作,即需节点流作为参数生成的流对象。
接下来讲一下JDK四大缓冲流:默认缓冲区大小为8KB;
作用:批量处理数据,提高IO效率。
1> BufferedInputStream:输入字节缓冲流;
2> BufferedOutputStream:输出字节缓冲流;
3> BufferedReader:输入字符缓冲流;
4> Writer:输出字符缓冲流;
注意:
1、使用InputStream系列字节流读入中文数据时,编码方式要与文件编码方式一致,否则产生乱码;
2、字符流只能操作文本数据;
3、非文本数据,如:视频、音频、图片建议使用字节流操作。
对IOStream的常用类使用,有空再发文。。。。抱歉