遞歸獲取目錄下的所有文件


使用遞歸方式獲取目錄下的所有文件:

/**
* 獲取目錄下所有的文件並返回所有文件列表,使用遞歸方式完成
*
* @param filePath
* @return
*/
public List<File> getAllFile(List<File> listFile, File paramFile) {
if (paramFile.isFile()) {// 是文件,添加到文件列表中,本次調用結束,返回文件列表
listFile.add(paramFile);
return listFile;
} else {// 是目錄
File[] localFiles = paramFile.listFiles();// 得到目錄下的子文件數組
if (localFiles != null) {// 目錄不為空
for (File localFile : localFiles) {//遍歷子文件數組
getAllFile(listFile, localFile);//調用該函數本身
}
}
// 為空目錄,本次調用結束,返回文件列表
return listFile;
}

}

也可不返回列表使用void代替

/**
* 獲取目錄下所有的文件並返回所有文件列表,使用遞歸方式完成
*
* @param filePath
* @return
*/
public void getAllFile(List<File> listFile, File paramFile) {
if (paramFile.isFile()) {// 是文件,則添加到文件列表中,本次調用結束
listFile.add(paramFile);
} else {// 是目錄
File[] localFiles = paramFile.listFiles();// 得到目錄下子文件數組
if (localFiles != null) {// 目錄不為空
for (File localFile : localFiles) {//遍歷子文件數組
getAllFile(listFile, localFile);//調用該函數本身
}
}
// 為空目錄,本次調用結束
}

}



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com