[英]How to find a specific folder in its super directory of a given path using java
-------------------代碼片段開始-----------公共靜態無效查找(){
File dir = new File("D:\\test\\28-4-2016\\apa\\5346560_1
\\ItemFile\\1444799103007_1\\ftp\\content-providers\\apa-e\\data
\\incoming\\CBS_v47i4");
findDirectory(dir);
}
private static void findDirectory(File parentDirectory) {
if(foundFolder) {
return;
}
File[] files = parentDirectory.listFiles();
for (File file : files) {
if (file.isFile()) {
continue;
}
if (file.getName().equals("incoming")) {
foundFolder = true;
System.out.println("Incoming Folder found : ");
System.out.println("Incoming filder path :
"+file.getAbsolutePath());
System.out.println("Parent path : " +file.getParent());
break;
}
if(file.isDirectory()) {
findDirectory(file);
}
}
}
}
更改您的findDirectory
方法如下
public static void find() {
File dir = new File(
"D:\\test\\28-4-2016\\apa\\5346560_1\\ItemFile\\1444799103007_1\\ftp\\content-providers\\apa-e\\data\\incoming\\CBS_v47i4");
foundFolder = findDirectory(dir);
}
private static boolean findDirectory(File parentDirectory) {
System.out.println(parentDirectory.getPath());
File[] files = parentDirectory.listFiles();
for (File file : files) {
if (!file.isFile()) {
if (file.getName().equals("incoming")) {
System.out.println("Incoming Folder found : ");
System.out.println("Incoming filder path : " + file.getAbsolutePath());
System.out.println("Parent path : " + file.getParent());
return true;
} else if (file.isDirectory()) {
return findDir(file);
}
}
}
System.out.println("Incoming Folder not found : ");
return false;
}
您的示例和硬編碼路徑中似乎有錯字? 此外,使用 Path.pathSeperator() 而不是雙飛濺。 我建議您遞歸地導航到子文件夾並輸出所有文件和目錄以進行調試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.