一、概念
- 流:流动,流向 从一端移动到另一端(源头与目的地)
- 程序 与 文件|数组|网络连接|数据库,以程序为中心
二、IO流分类
- 1)流向: 输入流与输出流
- 2)数据:
- 字节流:二进制,可以一切文件 包括 纯文本 doc 音频、视频等等
- 字符流:文本文件,只能处理纯文本
- 3)功能:
- 节点流:包裹源头
- 处理流:增强功能,提供性能
三、字符流与字节流 (重点) 与文件
- 1)字节流
- 输入流:InputStream read(byte[] b)|read(byte[] b, int off, int len) +close()
FileInputStream() - 输出流:OutputStream write(byte[] b)|write(byte[] b, int off, int len) +flush() +close()
FileOutputStream
- 输入流:InputStream read(byte[] b)|read(byte[] b, int off, int len) +close()
- 2、字符流
- 输入流:Reader read(char[] cbuf)|read(char[] cbuf, int off, int len) +close()
FileReader() - 输出流:Writer write(char[] cbuf)|write(char[] cbuf, int off, int len) +flush() +close()
write(String str, int off, int len)
FileWriter()
- 输入流:Reader read(char[] cbuf)|read(char[] cbuf, int off, int len) +close()
四、操作
- 1)举例:搬家 –>读取文件
- 关联房子 —>建立与文件联系
- 选择搬家 –>选择对应流
- 搬家 –>读取|写出
a. 卡车大小 —>数组大小
b. 运输 –>读取、写出 - 打发over –>释放资源
- 2)操作
- 建立联系
- 选择流
- 操作 数组大小+read 、write
- 释放资源