2011-03-09 139 views
2

我想從目錄及其子目錄及其相對路徑獲取完整的ftl文件列表。例如,假設我在D:\abc\pqr\lmn\try.ftl中有一個ftl文件,並且我通過D:\abc作爲搜索路徑,那麼我應該得到/pqr/lmn/try.ftl和所有*.ftl文件列表,這些列表出現在搜索目錄及其子目錄中,其相對路徑爲結果。如何從目錄和子目錄獲取ftl文件

有人可以幫助我實現此功能。

回答

0

試試這個代碼...

 String dir = TEMPLATE_PATH; 
     File folder = new File(dir); 
     File[] listOfFiles = folder.listFiles(); 

        for (int i = 0; i < listOfFiles.length; i++) { 
        if (listOfFiles[i].isFile()) { 
         if (listOfFiles[i].getName().endsWith(".ftl") || listOfFiles[i].getName().endsWith(".FTL")) 
         { 
           System.out.println("[FILE]" + listOfFiles[i].getName()); 
           fileName.add(listOfFiles[i].getName()); 


         } 
        } else if (listOfFiles[i].isDirectory()) { 

        String directoryToSearch = listOfFiles[i].getName(); 
        System.out.println("[DIR]" + directoryToSearch); 

        File subFolder = new File(dir + directoryToSearch); 
        File[] listOfSubFiles = subFolder.listFiles(); 
        for (int j = 0; j < listOfSubFiles.length; j++){ 
         if (listOfSubFiles[j].getName().endsWith(".ftl") || listOfSubFiles[j].getName().endsWith(".FTL")) 
         { 
          System.out.println("\t[DIR]" + listOfSubFiles[j].getName()); 
          fileName.add(listOfSubFiles[j].getName()); 


         } 
        } 

        } 
       }