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

Java 如何从目录和子目录获取ftl文件,java,Java,我想从目录及其子目录中获取ftl文件的完整列表及其相对路径。例如,假设我在D:\abc\pqr\lmn\try.ftl中有一个ftl文件,并且我将D:\abc作为搜索路径传递,那么我应该得到/pqr/lmn/try.ftl和所有*.ftl文件列表,这些文件都存在于搜索目录及其子目录中,并具有相对路径作为结果 有人能帮我实现这个功能吗。 将dir传递给您的方法 列出所传递目录的所有直接子目录FileNameFilter 对所有子目录递归调用此函数 试试这个代码 String dir

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

有人能帮我实现这个功能吗。

  • 将dir传递给您的方法
  • 列出所传递目录的所有直接子目录
    FileNameFilter
  • 对所有子目录递归调用此函数
试试这个代码

        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());


                         }
                    }

                    }
                }     
String dir=模板路径;
文件夹=新文件(目录);
File[]listOfFiles=folder.listFiles();
for(int i=0;i