目录
1. IO流
1.1 概括
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。
I : input 输入
O : output 输出
1.2 分类
按处理数据类型的不同,分为字节流和字符流.
按数据流向的不同,分为输入流和输出流。(入和出是相对于内存来讲的)
按功能不同,分为节点流和处理流
节点流:直接操作数据源
处理流:对其他流进行处理
1.3 四大抽象类
1.3.1 InputStream
1.3.2 OutputStream
1.3.3 Reader
1.3.4 Writer
1.4 文件流
1.4.1 FileInputStream
1.4.1.1 概述
用来打开文件并读取文件中的数据
想要读取一个文件,就必须要找到它
1 绝对位置
以系统根目录为准,比如D:/xxx\\xxx\xx\a.txt
2 相对位置
./ 表示当前目录
../ 表示上级目录
../../ 上上级目录
用字节流可能出现文字乱码问题, 转化为字符串输出可以解决这个问题, 字节容量不能太小.
1.4.1.2 常用方法
1.4.1.3 Read 使用
read : 读取一个字节,并返回对应的ASCII码值,返回为int类型,如果到达文件末尾(读完了) 则返回-1
1.4.1.4 Read重载使用
1.4.2 FileReader
1.4.2.1 概述
1.4.2.2 使用方式
1.4.3 FileOutputStream
1.4.3.1 概述
1.4.3.2 常用方法
1.4.3.3 构造方法
输出时,可以指定是覆盖还是插入
构造方法 : 1 只传递一个文件路径 2 传递一个文件路径,和布尔型
如果 我们调用的构造方法,只需要传入一个路径,则第二个布尔型默认为false
如果布尔型为false,则为覆盖写出 , 为true 则为 追加写出
如果是覆盖写出的话,在创建输出流对象时,就会把文件内容清空
1.4.3.4 使用方式
1.4.4 FileWriter
1.5 缓冲流
特点
- 主要是为了提高效率而存在的,减少物理读取次数
- 提供readLine()、newLine()这样的便捷的方法(针对缓冲字符流)
- 在读取和写入时,会有缓存部分,调用flush为刷新缓存,将内存数据写入到磁盘
1.5.1 BufferedReader
1.5.2 BufferedWriter
1.6 转换流
https://blog.51cto.com/u_16175442/6996449