一.什么是IO流
IO流指 的是输入输出流,用来处理设备上的数据。这里的设备指硬盘,内存,键盘录入,网络传输等。
输入流是指从文件中读数据,表示从文件到内存的过程;输出流则是从内存往文件中去写数据,输入还是输出以内存为基准来判断。
二.IO流的分类
按处理数据类型来分:字节流和字符流
按流的方向来分:输入流和输入流。
IO流之间的关系可以用下图表示:
1.字节流读取的时候,读到一个字节就返回一个字节; 字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8码表中是3个字节)时。先去查指定的编码表,将查到的字符返回。
2.字节流可以处理所有类型数据,如:图片,MP3,AVI视频文件,而字符流只能处理字符数据。只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都用字节流。
三.用法
1.写,如下图:
2.读,如下图:
3.复制文件都是先读后写,如图
3.字符流的读写注意
注意事项:
* 写入文件后必须要用flush()刷新。
* 用完流后记得要关闭流
* 使用流对象要抛出IO异常
* 定义文件路径时,可以用“/”或者“\”。
* 在创建一个文件时,如果目录下有同名文件将被覆盖。
* 在读取文件时,必须保证该文件已存在,否则出异常
4.复制文字外其他文件用字节流
基础用法暂时这些,待工作中用到更深层次再深入研究,目前仅供温故!