效果如下:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/23235ef680bf70c37f2ee1279d99da68.png)
public class AllFileNames {
public static void main(String[] args) {
//1、根据路径创建一个File对象
File file = new File("E:\\test");
//2、调用fileTest()方法
fileTest(file, "");
}
/**
* 判断是文件还是目录
* @param file
* @param temp
*/
public static void fileTest(File file, String temp){
//如果是文件的情况
if (file.isFile()){
System.out.print("文件 :" + file.getName() + "\t");
}else{
//如果是目录的情况
//创建一个File数组来存储当前目录下所有文件和目录的绝对路径
File[] files = file.listFiles();
//循环遍历files
for (File fileTemp : files){
//子级是目录
if (fileTemp.isDirectory()){
System.out.println(temp + "目录 :" + fileTemp.getName() + "\t");
//递归再次进行判断
fileTest(fileTemp, temp + "\t");
}else{
//子级是文件
System.out.println(temp + "文件 :" + fileTemp.getName() + "\t");
}
}
}
}
}