File:它是文件和目录路径的抽象表示
- 文件和目录是可以通过File封装成对象的
- 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径而已。它可以是存在的,也可以是不存在的。
构造方法:
| 方法名 | 说明 |
|---|---|
| File(String pathname) | 通过将给定的路径名字符串转换为抽象路径名来创建新的File实例 |
| File(String parent,String child) | 从父路径名字符串和子路径名字符串创建新的File实例 |
| File(File parent,String child) | 从父抽象路径名和子路径名字符串创建型的File实例 |
//File(String pathname)
File f1 = new File("D:\\Software\\File\\test.txt");
System.out.println(f1);//输出:D:\Software\File\test.txt
//File(String parent,String child)
File f2 = new File("D:\\Software\\File","test.txt");
System.out.println(f2);//输出:D:\Software\File\test.txt
//File(File parent,String child)
File f3 = new File("D:\\Software\\File");
File f4 = new File(f3,"test.txt");
System.out.println(f4);//输出:D:\Software\File\test.txt
File类创建功能
| 方法名 | 说明 |
|---|---|
| public boolean createNewFile() | 当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件 |
| public boolean mkdir() | 创建由此抽象路径名命名的目录 |
| public boolean mkdirs() | 创建由此抽象路径名命名的目录,包括如何必需但不存在的父目录 |
public boolean createNewFile()
//创建一个文件
File f1 = new File("D:\\Software\\File\\test1.txt");
System.out.println(f1.createNewFile());
如果文件不存在,就创建文件,并返回ture
如果文件存在,就什么也不做,并返回false

public boolean mkdir()|
//创建一个目录(文件夹)
File f2 = new File("D:\\Software\\File\\test2");
System.out.println(f2.mkdir());
如果目录(文件夹)不存在,就创建目录(文件夹),并返回ture
如果目录(文件夹)存在,就什么也不做,并返回false

public boolean mkdirs()
//创建一个多级目录
File f3 = new File("D:\\Software\\File\\test3\\test33");
System.out.println(f3.mkdirs());//在没有test3的情况下,不能用mkdir


如果目录(文件夹)不存在,就创建目录(文件夹),并返回ture
如果目录(文件夹)存在,就什么也不做,并返回false
File类判断和获取功能
| 方法名 | 说明 |
|---|---|
| public boolean isDirectory() | 测试此抽象路径1名表示的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对象数组 |
测试:
开始前:

//创建一个文件
File f1 = new File("File\\test1.txt");
System.out.println(f1.isFile());//是不是文件
System.out.println(f1.isDirectory());//是不是目录
System.out.println(f1.exists());//存不存在
System.out.println("-------------");
System.out.println(f1.getAbsolutePath());//返回此抽象路径的绝对路径名字符串
System.out.println(f1.getName());//返回名称
System.out.println(f1.getPath());//将此抽象路径名转换为路径名字符串
System.out.println("-------------");
File f2 = new File("D:\\Software\\File");
String[] sa = f2.list();//目录列表的字符串
for(String s:sa){
System.out.println(s);
}
System.out.println("-------------");
//抽象路径名表示的目录中的文件和目录的File对象数组
File[] f = f2.listFiles();
for(File ff:f){
System.out.println(ff);
}
输出:
true
false
true
-------------
D:\Software\File\test1.txt
test1.txt
File\test1.txt
-------------
test1.txt
test2
test3.txt
-------------
D:\Software\File\test1.txt
D:\Software\File\test2
D:\Software\File\test3.txt
File类删除功能
| 方法名 | 说明 |
|---|---|
| public boolean delete() | 删除由此路径名表示的文件或目录 |
绝对路径和相对路径的区别
- 绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件。例如:
D:\Software\File\test1.txt - 相对路径:必须使用取自其他路径名的信息进行解释。
例如:myFile\test.txt
如果一个目录中有内容(目录,文件),不能直接删除。应该先删除目录中的内容,最后才能删除目录
本文详细介绍了Java中的File类,包括其构造方法、创建、删除、判断和获取文件目录的功能。通过示例展示了如何创建新文件、新建目录、判断文件类型和存在性、获取文件路径和名称,以及列出目录内容。同时,讨论了绝对路径和相对路径的区别,并指出删除目录时需注意的事项。
1807

被折叠的 条评论
为什么被折叠?



