
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 用来操作文件的字符输出流(简便的流)