如何从目录和子目录中获取ftl文件

时间:2011-03-09 06:07:56

标签: java

我想从目录及其子目录及其相对路径获取ftl文件的完整列表。例如,假设我在D:\abc\pqr\lmn\try.ftl中有一个ftl文件并且我将D:\abc作为搜索路径传递,那么我应该获得/pqr/lmn/try.ftl以及搜索目录中存在的所有*.ftl个文件列表和他们的子目录,结果是相对路径。

有人可以帮助我实现此功能。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分: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());


                         }
                    }

                    }
                }