标签:isContain 递归 subFolder 查询方法 fileName pathname result File 分享
给一个文件夹,在文件夹里查询所有名字等于name或者包含name的文件,统计出来一个文件集合的场景:
floaderFile:目标文件夹
String fileName:文件名字
result:用来装文件集合的List
isContain:文件名字是包含fileName还是等于fileName
public static List<File> searchFile(File floderFile, String fileName, List<File> result,Boolean isContain) {
File[] subFolders = floderFile.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
if (pathname.isDirectory()
|| (pathname.isFile() && pathname.getName().toLowerCase().contains(fileName.toLowerCase()))) {
return true;
}
return false;
}
});
if(isContain==true){
for (File subFolder : subFolders) {
if (subFolder.getName().contains(fileName)&& subFolder.isFile()) {
result.add(subFolder);
} else {
searchFile(subFolder, fileName, result,isContain);
}
}
}else{
for (File subFolder : subFolders) {
if (subFolder.getName().equals(fileName)&& subFolder.isFile()) {
result.add(subFolder);
} else {
searchFile(subFolder, fileName, result,isContain);
}
}
}
return result;
}
标签:isContain,递归,subFolder,查询方法,fileName,pathname,result,File,分享 来源: https://blog.csdn.net/weixin_45368320/article/details/119105931
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。