我想从目录及其子目录及其相对路径获取ftl文件的完整列表。例如,假设我在D:\abc\pqr\lmn\try.ftl
中有一个ftl文件并且我将D:\abc
作为搜索路径传递,那么我应该获得/pqr/lmn/try.ftl
以及搜索目录中存在的所有*.ftl
个文件列表和他们的子目录,结果是相对路径。
有人可以帮助我实现此功能。
答案 0 :(得分:2)
FileNameFilter
答案 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());
}
}
}
}