流 ---> Stream
1.什么是流?
流即代表流动,这里是指数据的流动,流是有方向的,从一端流向另一端,存在源头和目的地,即数据以一定形式(字符|字节)从源头流向目的地;
程序 <-------------> 文件|数组|网络连接|数据库(存放数据的对象)
数据在程序和可操作数据源之间流动,以程序为中心
2. IO流的分类
1)流向
输入流|输出流
2)数据类型
字节流:以二进制形式传输(可以处理一切文件,如纯文本|音频|视频等)
字符流以文本文件形式传输(只能处理纯文本)
3)流的功能
节点流:包裹源头(靠近源头最近的流)
处理流:增强功能,提高性能(靠近目的地的流)
3. 字符流和字节流
1)字节流
输入流:InputStream ---> FileInputStream
read(byte[] b)读取字节数组|read(byte[] b,int off, int len)读取一定长度字节数组+close();
输出流:OutputStream ---> FileInputStream
write(byte[] b)写入字节数组|write(byte[] b,int off, int len)写入一定长度字节数组+flush()刷新并强制写出+close();
2)字符流
输入流:Reader ---> FileReader
read(char[] cbuf)读取字符数组|read(char[] cbuf,int off, int len)读取一定长度字符数组+close();
输出流:Writer ---> FileWriter
write(char[] cbuf)写入字符数组|write(char[] cbuf,int off, int len)写入一定长度字符数组+flush()刷新并强制写出+close();
4. 操作
1)建立与文件联系
2)选择对应流
3)文件读取|写入
数组大小
read|write方法将数据读取|写入
4)释放资源