递归算法:对于一个复杂的问题,把原问题分解为若干个相对简单类同的子问题,继续下去直到子问题简单到能够直接求解,也就是说到了递推的出口,这样原问题就有递推得解。
递归遍历文件夹实现代码:
/**
* 递归方法
* @param pathName 目标路径
*/
public static void getFilePath(String pathName) {
try {
File file = new File(pathName);
if (file.isDirectory()) {// file.isDirectory()判断是否为文件夹
File files[] = file.listFiles();
for (int i = 0; i < files.length; i++) {
if (!files[i].isDirectory()) {
System.out.println(files[i].getPath());
} else {
// 调用自身方法
getFilePath(files[i].getPath());
}
}
} else {
System.out.println(file.getPath());
}
} catch (Exception e) {
e.printStackTrace();
}
}
运行结果: