概念:以字符为基本单位进行传输 可操作文本文件 (.txt .java) --- 使用文本编辑器打开,人可识别
乱码原因 : 编解码格式不一致
编码格式:
ASCII ---- 美国
ISO-8859-1 西欧
GBK 简体中文
Big5 繁体中文
Unicode 全球统一
UTF-8 --------- 经常使用
UTF-16
编码:将字符转换为字节流,进而转换为机器码
解码:将字节流转换为对应的字符内容
两个父类:
Reader/Writer 一组抽象类 是字符流的父类
节点流:
FileReader/FileWriter 字符输入节点流 字符输出节点流
过滤流:
BufferedReader 过滤流
String readLine() : 每次读一行 当返回 null 时, 代表到达文件末尾
BufferedWriter<==>PriterWriter
println(String str): 每次往外写出一个字符串,然后换行 PriterWriter
write(String str):每次往外写出一个字符串 不会换行 BufferedWriter
![7e0cf692efdb63ef5d837c37e501cbf8.png](https://i-blog.csdnimg.cn/blog_migrate/07d84662288a5614ae199e10ab76913c.jpeg)
桥转换流 :
将字节流转换为字符流,同时设置指定的编解码格式
编码步骤:
1.创建字节节点流
2.创建桥转换流,同时设置编解码格式 ------ 字符节点流
3.包装字符流
4.读写操作
5.关闭资源
![ff242bdb5fa4229658d62cf3a2703915.png](https://i-blog.csdnimg.cn/blog_migrate/d50df2a18f6c643cae788fc0605789d4.jpeg)
![3a8855643d022baaac6b8c666c799ede.png](https://i-blog.csdnimg.cn/blog_migrate/ea5981b3cd35b5fc854972bcf8b5b34b.jpeg)
File类
File 操作的是文件或者文件夹
public boolean createNewFile():创建文件 创建成功,返回true 创建失败,返回false
public boolean mkdir():创建文件夹,创建成功返回true,创建失败,返回false
public boolean delete():删除文件或者文件夹,删除成功,返回true,删除失败,返回false
若删除文件夹,只有当文件夹为空时,才可以删除。
若删除的为文件,不管文件内容是否为空,都会被删除(若文件正在操作,则无法删除)
public boolean renameTo(File f):更改文件的名字,更改成功返回true,更改失败返回false
public boolean setReadOnly():设置文件为只读
public String getName():获取文件名(包含扩展名),文件夹名public boolean exists():判断一个文件或者文件夹 是否存在,存在返回true,不存在返回false
public String getAbsolutePath():获取绝对路径
public File[] listFiles():获取当前文件夹下所有的文件或者文件夹
public boolean isFile():判断File对象所对应是否为文件 (若文件对象不存在,则返回false)
public boolean isDirectory():判断file对象对应的是否为目录 (若文件夹不存在,则返回false)
![9889189bd09a6acf1f252c20a44de858.png](https://i-blog.csdnimg.cn/blog_migrate/5a959f5523b9d32f86af22e693da5f6a.jpeg)
![4b2bd4028912fbe82a0ff66152984e83.png](https://i-blog.csdnimg.cn/blog_migrate/a3e0a0b3803c72f6cbdbfe912cb11401.jpeg)
![2d0582cf26b2f25ac64dd31276c26a37.png](https://i-blog.csdnimg.cn/blog_migrate/508d745c21566d709625fc42b3a470fb.jpeg)