一、字符编码
字符编码指的是一种映射规则,将某个字符映射成其他形式的数据,以便在计算机上存储。
例如 :
ASCLL字符编码规定使用单字节(8位0或1)中低位的7个比特来表示某个字符
如A的编号是65,单字节表示为0x41(0x表示十六进制),写入存储设备的时候就是二进制的01000001。
常用的编码格式为 : UTF-8
你可能还会见到的还有:GBK,GB2312,Unicode等
如果编码格式和解码格式不一样,就会出现乱码
二、字符流
概念 : 输入输出流传输的最小字符为字符(char)
字符流体系分为Reader和Writer
Reader :所有字符输入流的父类
提供的方法 :
int read(); 一次读取一个字符,返回值为读取到的字符 int read(char c[]): 一次去取一组字符到数组c中,返回值为读取到的字符长度,当为-1时表示读取结束 int read(char c[], int off, int len) 一次去取一组字符到数组c中 从off位置开始存储,存储len个 返回值为读取到的字符长度 当为-1时表示读取结束 void close() 关闭
Writer: 所有字符输出流的父类
提供的方法 :
void write(int c) 写入一个int类型的,内容是c锁表示的 void write(char cbuf[]) 写入,内容是cbuf数组的内容 void write(char cbuf[], int off, int len) 写入,从off位置开始,写入len长度个 void write(String str) 写入一个字符串 void flush() 冲刷 void close() 关闭
文件流
FileReader FileWriter
缓冲流
BufferedReader readLine():读取一行 BufferedWriter newLine():写入一个换行
转换流
InputStreamReader OutputStreamReader
标准输出流
PrintStream 是字节流
File
文件或文件夹对应的类
使用 :
1.创建File类的对象
2.对调属性或方法
File的构造函数(创建File对象)
公共构造函数: File(String pathname) pathname:文件或文件夹的路径 File(String parent, String child) parent:上级文件夹的路径 child:当前文件的名称.后缀名 如 D:\2304班授课\day20\笔记\day20.md D:\2304班授课\day20\笔记 parent day20.md child File(File parent, String child) parent:上级文件夹的file对象 child:当前文件的名称.后缀名 File(URI uri) uri:资源所在位置 如: URI uri = URI.create("D:\\a.txt"); File file = new File(uri);注意: 路径分为相对路径与绝对路径 绝对路径: 从盘符开始书写 如:D:\a.txt 相对路径 相对于项目路径下 注意: .:当前路径 ..:上级文件夹
属性
public static separator 获取当前系统的路径分割符
方法
mkdir():创建一级文件夹 mkdirs():创建多级文件夹 createNewFile():创建一级文件 delete():删除一级文件或一级文件夹 getParent():获取上级文件夹路径 getParentFile():获取上级文件夹的file对象 getPath():获取当前路径 getAbsolutePath():获取当前文件的绝对路径 getAbsoluteFile():获取绝对路径的文件 isDirectory():判断是否为文件夹 isFile():判断是否为文件 exists():判断文件或文件夹是否存在 length():获取文件大小,单位字节 renameTo():修改文件名称 File[] listFiles(); File[] listFiles(FileFilter ff); File[] listFiles(FilenameFilter ff); 获取当前文件夹下的文件或文件夹 注意: FileFilter是文件过滤器 重写的是boolean accept(File pathname) 当返回值为true表示可以通过,反之false不通过 FilenameFilter是文件名称过滤器 重写的是boolean accept(File f,String name) 当返回值为true表示可以通过,反之false不通过 f:父级文件对象 name:当前文件的名称