我正在尝试迭代文件夹
我的文件位于
D:\PROJECT_FOLDER\rootProject\semiRootProject\project\build\resources\main\com\xxxx\pack\file.xlsx
然而,当我尝试在控制台中迭代它时,显示
11:39:06.731 [main] INFO com.xxxx.util.KiePackageCreator - File found: D:\PROJECT_FOLDER\rootProject\semiRootProject\project\build\resources\main\com.
有什么问题?我的搜索循环看起来像这样。
File fileFolder = new File(projectBuildDir + RESOURCE_SUBFOLDER);
for (File file : fileFolder.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
//if (name.endsWith(".xlsx")) {
return true;
//}
//return false;
}
})) {
LOGGER.info("File found: {}.", file.toPath());
if (file.isFile()) {
Resource fileResource = getClassPathResource(file.getName());
String filePath = file.getPath();
String rulePath = MAVEN_RESOURCE_PATH + filePath.substring(filePath.indexOf("com"));
LOGGER.info("Attempt to write into: {}.", rulePath);
kfs.write(rulePath, fileResource);
}
}
答案 0 :(得分:2)
列表文件列出了您指定的目录中的所有文件和目录。它没有递归地这样做。
也许walkFileTree更适合你。
答案 1 :(得分:0)
您需要遍历代码中的子文件夹。您只是遍历fileFolder指向的目录中的文件。