一、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 文件流
文件流:用于打开文件链接,操作数据
FileInputStream 字节输入
FileOutputStream 字节输出
FileReader 字符输入
FileWriter 字符输出
1.4.1 FileInputstream
1.4.1.1 概述
FileInputstream 字节输入流,用于把某个文件已字节的形式读取出来
想要读取一个文件,首先得找到这个文件
怎么找呢? 1 相对路径 2 绝对路径
相对路径:以当前文件为准,去找其他文件, ./表示当前目录, …/表示上级目录, …/…/
绝对路径:以系统跟盘符为准,比如D盘 E盘
1.4.1.2 常用方法
1.4.1.3 Read使用
1.4.1.4 Read重载使用
1.4.2 FileReader
1.4.2.1 概述
FileReader一次读取一个字符,也就是两字节,而Unicode编码也是2字节
所以 读取文本文件时,不会出现乱码问题
1.4.2.2 使用方式
1.4.3 FileOutputstream
1.4.3.1 概述
FileOutputstream 是字节输出流,用于将内存中数据写出去
需要传入文件路径,如果该文件不存在,则会自动创建(但是不会创建目录)
1.4.3.2 常用方法
1.4.3.3 使用方式
1.4.4 FileWriter
1.5 缓冲流
特点:
- 主要是为了提高效率而存在的,减少物理读取次数
- 提供readLine()、newLine()这样的便捷的方法(针对缓冲字符流)
- 在读取和写入时,会有缓存部分,调用flush为刷新缓存,将内存数据写入到磁盘
1.5.1 BufferedReader
1.5.2 BufferedWriter
1.6 转换流
1.6.1 InputStreamReader
1.6.2 OutputStreamWriter
1.6.3 处理乱码问题
6153)]
1.6.2 OutputStreamWriter
[外链图片转存中…(img-bxvgSZf0-1723460586154)]
1.6.3 处理乱码问题
[外链图片转存中…(img-fSN1JLmk-1723460586154)]
暂时先到这里啦!剩下的一般明天就会写完,如果对你有帮助的话就点个赞吧