我的目标是获取文件夹中文件的名称,如果该文件夹内有另一个文件夹,那么它应该进一步给我THAT文件夹中的文件名称。等等。Java递归混淆。试图获取目录中的文件
这是代码:
public class GettingDir {
public static void main(String[] args){
File dir = new File("Numbers/");
File[] files = dir.listFiles();
for(File f : files){
if(f.isDirectory()){
System.out.println(f.getName());
getDirectory(f.toString());
}else{
System.out.println(f.getName());
}
}
}
而这里的getDirectory()方法:
public static void getDirectory(String dir){
File place = new File(dir);
if(place.isDirectory()){
File[] files = place.listFiles();
for(File f : files){
if(f.isDirectory()){
System.out.println(f.getName());
getDirectory(dir);
}else{
System.out.println(f.getName());
}
}
}
}
现在。我不完全理解错误,它是一个无限循环,然后是无限错误。一些聪明的人能告诉我什么是错的吗?
P.S.很抱歉,如果代码是可悲的,我是一个初学者:d