IO流
1. 原理与概念
a) 流
i. 流动,流向
ii. 从一端移动到另一端 源头到目的地
iii. 抽象、动态概念,是一连串连续动态的数据集合
iv. 程序与文件|数组|网络连接|数据库,以程序为中心
b) 分类
i. 流向:输入流输出流
ii. 数据
- 字节流
a) InPutStream OutPutStream
b) 二进制
c) 可以包括一切文件
- 字符流
a) Reader Writer
b) 文本文件
c) 只能处理纯文本
4.功能
a) 节点流
i. 包裹源头
b) 处理流
i. 增强功能,提高性能
c)
- File文件类
a) 两个常量
i. 路径分隔符;File.pathseparator
ii. 名称分隔符(windows)/File.separator
iii.
b) 构造File文件
i.
ii. 常用方法
- 字节流
a) 读取文件
i. 建立联系 File对象 源头
ii. 选择流文件输入流 InputStream FileInputStream
iii. 操作 : byte[] car =new byte[1024]; +read+读取大小
iv.
v. 释放资源 close
b) 写出文件
i. 建立联系 File对象 源头 目的地
ii. 选择流文件输出流 OutputStream FileOutputStream
iii. 操作 : write() +flush
iv. 释放资源
c) 文件拷贝
i. 建立联系 File对象 源头 目的地
ii. 选择流 文件输入流 InputStream FileInputStream文件输出流 OutputStream FileOutputStream
iii. 操作 : 拷贝
byte[] flush =new byte[1024]; int len =0;while(-1!=(len=输入流.read(flush))){ 输出流.write(flush,0,len) }出流.flush
d) 文件夹拷贝
i. 递归查找子孙级文件|文件夹
ii. 文件 复制(IO流复制) 文件夹 创建
iii. 不能将父目录拷贝到子目录中
iv.
e) 字符流
i. 只能处理 纯文本,全部为可见字符 .txt .html
ii. 读取
- 建立联系
2.选择流
3.读取 char[] flush =new char[1024];
4.关闭
f) 处理流
i. 字节缓冲流
- BufferedInputStream
- BufferedOutputStream
ii. 字符缓冲流
- BufferedReader readLine()
- BufferedWriter newLine()
iii. 作用
iv.
g) 转换流
i.
ii.
h) 其他流
i. 字符数组流(节点流,字节流)
ii. 处理流
- 基本类型+String 保留数据+类型
a) 输入流:DataInputStream readXxx
b) 输出流:DataOutputStream writeXxx
c)
d)
- 引用类型 (对象) 保留数据+类型
a) 反序列化 输入流:ObjectInputStream readObject()
b) 序列化 输出流OectOutputStream writeObject()
c)
d)
- 打印流
a) PrintStream println() print()
b) 三个常量 : System.in /out/err System.setIn() setOut() setErr()
c)
4. 文件分割
a)
b)