目录
1.15.1File类
1.15.1.1什么是File
java.io.File类:文件和目录路径名的抽象表示形式。
可以理解为把我们电脑中的文件以及路径封装成一个类,这个类就叫File。
1.15.1.2构造方法
方法名 | 说明 |
---|---|
public File(String pathname) | 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 |
public File(String parent, String child) | 从父路径名字符串和子路径名字符串创建新的 File实例。 |
public File(File parent, String child) | 从父抽象路径名和子路径名字符串创建新的 File实例。 |
1.15.1.3获取方法
方法名 | 说明 |
---|---|
public String getAbsolutePath() | 返回此File的绝对路径名字符串。 |
public String getPath() | 将此File转换为路径名字符串 |
public String getName() | 返回由此File表示的文件或目录的名称。 |
public long length() | 返回由此File表示的文件的长度。 |
1.15.1.4判断方法
方法名 | 说明 |
---|---|
public boolean exists() | 此File表示的文件或目录是否实际存在。 |
public boolean isDirectory() | 此File表示的是否为目录。 |
public String getName() | 返回由此File表示的文件或目录的名称。 |
1.15.1.5删除方法
方法名 | 说明 |
---|---|
public boolean createNewFile( ) | 当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。 |
public boolean delete( ) | 删除由此File表示的文件或目录。 |
public boolean mkdir( ) | 创建由此File表示的目录。 |
public boolean mkdirs( ) | 创建由此File表示的目录,包括任何必需但不存在的父目录。 |
1.15.1.6目录遍历
方法名 | 说明 |
---|---|
public String[] list() | 返回一个String数组,表示该File目录中的所有子文件或目录。 |
public File[] listFiles() | 返回一个File数组,表示该File目录中的所有的子文件或目录。 |
1.15.1.7绝对路径与相对路径
绝对路径:从盘符开始的路径,这是一个完整的路径。
相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。
1.15.2 场景
1.15.2.1 列出一个目录下所有的文件
只列出当前文件夹下的文件
public static void main(String[] args) {
File f = new File("/Users/Hao/Downloads");
for(File temp : f.listFiles()) {
if(temp.isFile()) {
System.out.println(temp.getName());
}
}
}
如果需要对文件夹继续展开
class Test12 {
public static void main(String[] args) {
showDirectory(new File("/Users/Hao/Downloads"));
}
public static void showDirectory(File f) {
walkDirectory(f, 0);
}
private static void walkDirectory(File f, int level) {
if(f.isDirectory()) {
for(File temp : f.listFiles()) {
walkDirectory(temp, level + 1);
}
}else {
for(int i = 0; i < level - 1; i++) {
System.out.print("\t");
}
System.out.println(f.getName());
}
}
}