File类:
java.io包,是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。
构造方法
1.public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
2.public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。
3.public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例。
成员方法
1.public String getAbsolutePath() :返回此File的绝对路径名字符串。
2.public String getPath() :将此File转换为路径名字符串。
3.public String getName() :返回由此File表示的文件或目录的名称。
4.public long length() :返回由此File表示的文件的长度。 不能获取目录的长度。
5.public boolean exists() :此File表示的文件或目录是否实际存在。
6.public boolean isDirectory() :此File表示的是否为目录。
7.public boolean isFile() :此File表示的是否为文件。
8.public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
9.public boolean delete() :删除由此File表示的文件或目录。
10.public boolean mkdir() :创建由此File表示的目录。
11.public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。
12.public String[] list() :返回一个String数组,存储的是File目录中所有的子文件或子目录的名称。
13.public File[] listFiles() :返回一个File数组,存储的是File目录中所有的子文件或子目录的路径的File对象。
绝对路径和相对路径
1.绝对路径:从盘符开始的路径,这是一个完整的路径。
2.相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。
文件搜索案例
public class Test3_文件搜索 {
public static void main(String[] args) {
/*
需求:
输出day12\\src目录中的所有.java文件的绝对路径。
分析:
1.定义一个方法,用来获取一个目录中所有符合条件的文件(子文件,子子文件,子子子文件...)
2.在方法中,获取该目录下的所有子文件和子目录
3.在方法中,循环遍历获取到的所有字文件和子目录
4.在方法中,遍历的时候,需要判断遍历出来的是文件还是目录
5.如果是文件,就判断该文件是否以.java结尾,如果是就获取其绝对路径打印输出
6.如果是文件夹,就递归调用该方法
*/
File file = new File("day12\\src");
findFile(file);
}
/**
* 定义一个方法,用来获取一个目录中所有符合条件的文件(子文件,子子文件,子子子文件...)
* @param file
*/
public static void findFile(File file) {
// 在方法中,获取该目录下的所有子文件和子目录
File[] files = file.listFiles();
// 在方法中,循环遍历获取到的所有字文件和子目录
if (files != null) {
// 在方法中,遍历的时候,需要判断遍历出来的是文件还是目录
for (File file1 : files) {
// 如果是文件,就判断该文件是否以.java结尾,如果是就获取其绝对路径打印输出
if (file1.isFile() && file1.getName().endsWith(".java")){
System.out.println(file1.getAbsolutePath());
}
// 如果是文件夹,就递归调用该方法
if (file1.isDirectory()){
findFile(file1);
}
}
}
}
}