1、字节流
2、字符流
01输入和输出
- A:输入和输出
- a: 参照物
- 到底是输入还是输出,都是以Java程序为参照
- b: Output
- 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作
- 程序到文件称为输出
- c: Input
- 把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作
- 文件到程序称为输入
- d: IO操作
- 把上面的这种输入和输出动作称为IO操作
02字节输出流OutputStream
- A: 字节输出流OutputStream
- a.概念
- IO流用来处理设备之间的数据传输
- Java对数据的操作是通过流的方式
- Java用于操作流的类都在IO包中
- 流按流向分为两种:输入流,输出流。
- 流按操作类型分为两种:
- 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的
- 字符流 : 字符流只能操作纯字符数据,比较方便。
- b.IO流常用父类
- 字节流的抽象父类:
- InputStream
- OutputStream
- 字符流的抽象父类:
- Reader
- Writer
- c.IO程序书写
- 使用前,导入IO包中的类
- 使用时,进行IO异常处理
- 使用后,释放资源
- d: 方法介绍
1 | * void close(): 关闭此输出流并释放与此流有关的所有系统资源。 |
03字节输出流FileOutputStream写字节
1 | * A: 字节输出流FileOutputStream写字节 |
04字节输出流FileOutputStream写字节数组
1 | * A: 字节输出流FileOutputStream写字节数组 |
05文件的续写和换行符号
1 | * A: 文件的续写和换行符号 |
06IO中的异常处理
1 | * A: IO中的异常处理 |
07字节输入流InputStream
1 | * A: 字节输入流InputStream |
08字节输入流FileInputStream读取字节
1 | * A: 字节输入流FileInputStream读取字节 |
09字节输入流FileInputStream读取字节数组
1 | * A: 字节输入流FileInputStream读取字节数组 |
10字节输入流FileInputStream读取字节数组的实现原理
- A:字节输入流FileInputStream读取字节数组的实现原理
- a: 原理
1 | * b: 案例代码 |
11文件复制原理
- A: 文件复制原理
12字节流复制文件读取单个字节
1 | * A: 字节流复制文件读取单个字节 |
13字节流复制文件读取字节数组
1 | * A: 字节流复制文件读取字节数组 |
14编码表
1 | * A: 编码表 |
15字符输出流写文本FileWriter类
1 | * A: 字符输出流写文本FileWriter类,只能写"文本文件" |
16字符输入流读取文本FileReader类
1 | * A: 字符输入流读取文本FileReader类 |
17flush方法和close方法区别
- A: flush方法和close方法区别
*a: flush()方法 - 用来刷新缓冲区的,刷新后可以再次写出,流还可以继续使用,只有字符流FileWriter类才需要刷新
*b: close()方法 - 用来关闭流释放资源的,如果是带缓冲区的流对象的close()方法,不但会关闭流,还会再关闭流之前刷新缓冲区,关闭后不能再写出
18字符流复制文本文件
1 | * A: 字符流复制文本文件 |
19总结
IO流的分类1
2
3
4
5
6
7
8
9
10
11
12*- 字节流
*- 字节输入流 InputStream 抽象类
*- FileInputStream 操作文件的字节输入流
*- 字节输出流 OuputStream抽象类
*- FileOutputStream 操作文件的字节输出流
*- 字符流
*- 字符输入流 Reader抽象类
*- InputStreamReader 输入操作的转换流
*- FileReader 用来操作文件的字符输入流(简便的流)
*- 字符输出流 Writer抽象类
*- OutputStreamWriter 输出操作的转换流
*- FileWriter 用来操作文件的字符输出流(简便的流)