如何使用java在给定路径的超级目录中查找特定文件夹

时间:2016-04-30 07:23:54

标签: java file search directory

  • 如何使用java在其给定路径的超级目录中查找特定文件夹?
  • 例如,我需要找到一个文件夹,其名称为:“Incoming”在给定路径中为:D:\ test \ 28-4-2016 \ spr \ 5526283_1 \ ItemFile \ 1446026507776_1 \ ftp \ content-providers \ SPR-E \数据\来电\ EHPP-17-2-2015 \ EHPP-17-2-2015
  • 我需要找到文件夹及其路径。
  • 我目前的代码找不到文件夹。
  • 任何人都可以帮助我实现这个目标吗?

-------------------代码段开始------------------------- -       public static void find()       {

{{1}}

2 个答案:

答案 0 :(得分:1)

按如下方式更改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;
}

答案 1 :(得分:0)

您的示例和硬编码路径中似乎有拼写错误?另外,使用Path.pathSeperator()而不是double splash。我会建议你递归,导航到子文件夹并输出所有文件和目录进行调试。