你可以是使用递归操作
public static void main(String[] args) throws Exception {// 方法测试
File fileDir = new File("C:/Users/Administrator/Desktop/新建文件夹");
fun(fileDir);
}
public static void fun(File fileDir) {
if (fileDir.exists()) {// 判断文件夹是否存在
File[] files = fileDir.listFiles();// 获取文件夹下所有的文件
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {// 如果是目录文件,递归调用
fun(files[i]);
} else {// 否则的话就进行自己的操作
System.out.println(files[i].getPath() + "/"
+ files[i].getName());
// 你要进行的操作
}
}
}
}
递归
送上代码:
import java.io.*;
class FileDirs
{
File dir;
FileDirs(File dir)throws IOException
{
this.dir = dir;
getFiles(dir);
}
public void getFiles(File dir) throws IOException
{
File[] list = dir.listFiles();
for(int i = 0;i
if(list[i].isDirectory())
{
getFiles(list[i]);
}
else
{
if(list[i].getName().endsWith(".java"))
System.out.println(list[i].toString());
}
}
}
public static void main(String[] args)throws IOException
{
File dir = new File("C:\\Users\\Sho W\\Desktop\\java\\Code");
new FileDirs(dir);
}
}