簡體   English   中英

如何使用java在給定路徑的超級目錄中查找特定文件夾

[英]How to find a specific folder in its super directory of a given path using java

  • 如何使用java在給定路徑的超級目錄中查找特定文件夾?
  • 例如,我需要在給定的路徑中找到一個名稱為“傳入”的文件夾:D:\\test\\28-4-2016\\spr\\5526283_1\\ItemFile\\1446026507776_1\\ftp\\content-providers\\spr-e \\data\\incoming\\EHPP-17-2-2015\\EHPP-17-2-2015
  • 我需要找到文件夾及其路徑。
  • 我目前的代碼沒有找到文件夾。
  • 任何人都可以幫助我實現這一目標嗎?

-------------------代碼片段開始-----------公共靜態無效查找(){

        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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM