collecter里面对windows环境中,File path 的反斜杠处理
来源:6-8 实战:完成映射表类名的收集与打印【收集目标类】
qq_夜_71
2023-07-27
void collectFromDir(File file) {
if (file == null || !file.exists()) return
if (file.isDirectory()) {
file.listFiles().each {
collectFromDir(it)
}
return
}
String absolutePath = file.absolutePath.replaceAll("\\\\", "/")
if (absolutePath.contains(PACKAGE_NAME) && file.name.startsWith(CLASS_NAME_PREFIX) && file.name.endsWith(CLASS_FILE_SUFFIX)) {
def className = file.name.replace(CLASS_FILE_SUFFIX, "")
routerMappings.add(className)
}
}
windows里面,路径的分隔符是\ ,所以需要做路径一个替换,在这里提醒一下后面的同学。
String absolutePath = file.absolutePath.replaceAll("\\", “/”)
写回答
1回答
-
allenfeng
2023-08-11
很好的实践!适配不同操作系统,也可考虑直接采用
File.separator。00
相似问题