import java.io.File;
public class FileTest {
public static void main(String[] args) {
// 指定路径
File file = new File("C:\\Users\\admin\\Desktop"); // 路径使用 "\\" "/" 都可以
getAllFilePath(file);
}
public static void getAllFilePath(File path) {
// 存储文件路径
File[] files = path.listFiles();
// 遍历文件
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
// 获取文件夹路径
System.out.println("文件夹路径:: " + files[i].getPath());
// 使用截取字符串来获取
String dirPath = files[i].getPath();
int idx = dirPath.lastIndexOf("\\");
dirPath = dirPath.substring(idx + 1, dirPath.length());
System.out.println("文件所在的文件夹名:: " + dirPath);
// 递归的算法
getAllFilePath(files[i]);
} else {
String fileName = files[i].getPath();
System.out.println("文件的完整路径: "+fileName);
int fileIdx = fileName.lastIndexOf("\\");
fileName = fileName.substring(fileIdx + 1, fileName.length());
String ext = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
System.out.println("文件名:: " + fileName + " 文件类型:: " + ext);
}
}
}
}
// 文件夹路径:: C:\Users\admin\Desktop\demo
// 文件的完整路径:: C:\Users\admin\Desktop\demo\1.txt
// 目录:: demo
// 文件名:: 1.txt 文件类型:: txt