[英]what's wrong with my Recursion
我想實現一種方法,可以找到一個文件夾及其子文件夾中的所有文件,依此類推...我已經通過遞歸實現了它,但是我不知道這是怎么回事。 有人能幫我嗎?
private void fileLister(){
File d = new File(adress);
File[] existingFiles =d.listFiles();
for(int i = 0;i<existingFiles.length;i++){
if(existingFiles[i].isDirectory()){
fileLister();
}
else{
List<File> templist = Arrays.asList(existingFiles);
allExsistingFiles.addAll(templist);
}
}
}
您需要對遞歸方法的每個調用都具有您在該調用中工作的目錄。 最小的更改應為:
private void fileLister(File directory){
File[] existingFiles =directory.listFiles();
for(int i = 0;i<existingFiles.length;i++){
if(existingFiles[i].isDirectory()){
fileLister(existinFiles[i]);
}
else{
List<File> templist = Arrays.asList(existingFiles);
allExsistingFiles.addAll(templist);
}
}
}
核實:
public void showAll(String directoryName, ArrayList<File> files) {
File dir = new File(directoryName);
File[] fL = dir.listFiles();
for (File file : fL) {
if (file.isFile()) {
files.add(file);
} else if (file.isDirectory()) {
listf(file.getAbsolutePath(), files);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.