遍歷文件夾的兩種方法

// 遞歸遍歷文件價
public  void scanDir(File file) {
if (file == null) {
return;
} else {
File[] files = file.listFiles();
for (File f : files) {
if (f.isDirectory()) {
scanDir(f);
} else {
System.out.println(f.getName());
}
}
}
}


// my非遞歸遍歷文件
public void scanDir2(File file) {
File[] files = file.listFiles();
LinkedList<File> listFiles = new LinkedList<File>();
for (File f : files) {
if (f.isDirectory()) {
listFiles.add(f);
} else {
System.out.println(f.getName());
}
}
File temp;
while (!listFiles.isEmpty()) {
temp = listFiles.removeFirst();
files = temp.listFiles();
if (files != null) {
for (File f : files) {
if (temp.isDirectory()) {
listFiles.add(f);
continue;
} else {
System.out.println(temp.getName());
}
}
}
}
}
發佈了34 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章