一、概述
- 定义:是文件和目录路径名的抽象表示
- 人话:表示的是计算机中的某个文件对象
- 抽象指的是,File对象代表的并不是真实的文件,而是使用面向对象的思想,创建了传入路径的文件对象,提供了相关的API用于操控该文件对象
- 文件操作一定要慎重,因为删除了并不会放到回收站,不见了就是不见了
二、部分构造方法解析
- 下面的构造方法在后面常用API解析时会有详细的举例
File(String pathname)
- 入参的是文件的路径名,表示的是一个文件对象
- 表示的可以是文件夹,也可以是一个普通文件
- 例如:"I:"、"I:\\haha"、"I:\\a\\b"、"I:\\a.txt"
File(File parent, String child)
- 第一个参数也是File对象,表示的是父文件夹
- 第二个参数代表的是当前File对象代表的文件名
- 可以是文件夹,也可以是普通文件
- 第二个参数通常创建在父目录(第一个参数)下
File(String parent, String child)
- 和File(File parent, String child)相同,只不过第一个参数是字符串,表示的是父文件夹的路径
三、常用API解析
boolean createNewFile()
- 创建普通文件
- 通常需要指定文件的后缀,否则创建出来的文件没有意义
- 如果文件已经存在,返回false;文件不存在则创建文件,并返回true
- 传入路径包含的文件夹必须存在,如果不存在则抛出异常
- 举例
public static void main(String[] args) throws IOException {
//a文件夹不存在,下面的代码会报错
/* File file = new File("I:\\a\\a.txt");
file.createNewFile();*/
//在I盘下创建a.txt文件
File file1 = new File("I:\\a.txt");
file1.createNewFile();
}

boolean mkdir()
- 创建文件夹
- 创建文件夹的名字,是传入路径的最后一个"\\"后面的字符串
- 如果路径下有不存在的文件夹,该方法会报错
- 如果需要创建的文件夹已经存在,返回false;如果需要创建的文件夹不存在,创建该文件夹并返回true
- 举例
public static void main(String[] args) throws IOException {
File file = new File("I:\\a\\b");
//相当于创建b文件夹,前提是a文件夹要存在,否则运行时不报错,但是无法创建
System.out.println(file.mkdir());
File file2 = new File("I:\\a");
//成功创建a文件夹
System.out.println(file2.mkdir());
}
boolean mkdirs()
- 创建文件夹,同mkdir()方法,但有一点区别
- 如果路径下存在未创建的文件夹,该方法会连带这些文件夹一同创建
- 举例