创建一个栈,有文件夹就存进去,有文件count++
import java.io.File;
import java.util.Stack;
public class CountFiles {
public static int getFileNumber(String folderPath){
File root=new File(folderPath);
if(!root.isDirectory()&&!root.isFile()){
return 0;
}
if(root.isFile()){
return 1;
}
Stack<File> stack=new Stack<>();
stack.add(root);
int files=0;
while (!stack.isEmpty()){
File folder=stack.pop();
for(File next:folder.listFiles()){
if(next.isFile()){
files++;
}
if(next.isDirectory()){
stack.push(next);
}
}
}
return files;
}
public static void main(String[] args) {
String path="D:\\OneDrive \\01文件夹";
System.out.println(getFileNumber(path));
}
}