一、File 类
1.1、File 类概述和构造方法
1.1.1、File 类概述
- File 类:是文件和目录路径名的抽象表示。
- 文件和目录是可以通过 File 封装成对象的
- 对于 File 而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的
1.1.2、构造方法
| 方法名 |
说明 |
| File(String pathname) |
通过将给定的路径名字符串转换为抽象路径名来创建新的 File 实例 |
| File(String parent,String child) |
从父路径名字符串和子路径名字符串创建新的 File 实例 |
| File(File parent,String child) |
从父抽象路径名和子路径名字符串创建新的 File 实例 |
1.1.2.1、File(String pathname)
- 通过将给定的路径名字符串转换为抽象路径名来创建新的 File 实例。
File f1 = new File("E:\\itcast\\java.txt");
System.out.println(f1);
1.1.2.2、File(String parent,String child)
- 从父路径名字符串和子路径名字符串创建新的 File 实例。
File f2 = new File("E:\\itcast", "java.txt");
System.out.println(f2);
1.1.2.3、File(File parent,String child)
- 从父抽象路径名和子路径名字符串创建新的 File 实例。
File f3 = new File("E:\\itcast");
File f4 = new File(f3, "java.txt");
System.out.println(f4);
1.2、File 类创建功能
| 方法名 |
说明 |
| public boolean createNewFile() |
当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件 |
| public boolean mkdir() |
创建由此抽象路径名命名的目录 |
| public boolean mkdirs() |
创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录 |
1.2.1、createNewFile()
- 当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件。
File f1 = new File("D:\\itcast\\java.txt");
System.out.println(f1.createNewFile());
1.2.2、mkdir()
File f1 = new File("D:\\itcast\\javaSE");
System.out.println(f1.mkdir());
1.2.3、mkdirs()
- 创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录。
File f1 = new File("D:\\itcast\\javaWEB\\HTML");
System.out.println(f1.mkdirs());
1.3、File 类判断和获取功能
| 方法名 |
说明 |
| public boolean isDirectory() |
测试此抽象路径名表示的 File 是否为目录 |
| public boolean isFile() |
测试此抽象路径名表示的 File 是否为文件 |
| public boolean exists() |
测试此抽象路径名表示的 File 是否存在 |
| public String getAbsolutePath() |
返回此抽象路径名的绝对路径名字符串 |
| public String getPath() |
将此抽象路径名转换为路径名字符串 |
| public String getName() |
返回由此抽象路径名表示的文件或目录的名称 |
| public String[] list() |
返回此抽象路径名表示的目录中的文件和目录的名称字符串数组 |
| public File[] listFiles() |
返回此抽象路径名表示的目录中的文件和目录的 File 对象数组 |
1.3.1、isDirectory()
// 相对路径
File f1 = new File(".\\java.txt");
System.out.println(f1.isDirectory());
1.3.2、isFile()
File f1 = new File(".\\java.txt");
System.out.println(f1.isFile());
1.3.3、exists()
File f1 = new File(".\\java.txt");
System.out.println(f1.exists());
1.3.4、getAbsolutePath()
File f1 = new File(".\\java.txt");
System.out.println(f1.getAbsolutePath());
1.3.5、getPath()
File f1 = new File(".\\java.txt");
System.out.println(f1.getPath());
1.3.6、getName()
File f1 = new File(".\\java.txt");
System.out.println(f1.getName());
1.3.7、list()
- 返回此抽象路径名表示的目录中的文件和目录的名称字符串数组。
File f1 = new File("D:\\itcast");
String[] strArray = f1.list();
for (String str : strArray){
System.out.println(str);
}
1.3.8、listFiles()
- 返回此抽象路径名表示的目录中的文件和目录的 File 对象数组。
File f1 = new File("D:\\itcast");
File[] fileArray = f1.listFiles();
for (File file:fileArray){
System.out.println(file);
}
1.4、File 类删除功能
| 方法名 |
说明 |
| public boolean delete() |
删除由此抽象路径名表示的文件或目录 |
File file = new File("java.txt");
System.out.println(file.delete());
- 注意:
- 如果一个目录中有内容(目录,文件),不能直接删除。应该先删除目录中的内容,最后才能删除目录。