[英]How to find a specific folder in its super directory of a given path using java
-------------------Code snippet starts-------------------------- 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");
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);
}
}
}
}
Change your findDirectory
method as follows更改您的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;
}
There seems to be a typo in your example and the hard-coded path?您的示例和硬编码路径中似乎有错字? Also, use Path.pathSeperator() rather than double splash.此外,使用 Path.pathSeperator() 而不是双飞溅。 I would suggest you recursively, navigate to sub-folders and output all files and directories to debug.我建议您递归地导航到子文件夹并输出所有文件和目录以进行调试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.