我有一个目录:<dir>\Report\<env>\Log_XXX\Logs
其中 XXX 是在运行时随机创建的,因此我必须在 Logs 文件夹中创建一个文件。
以下是我尝试生成的 Logs 文件夹的内容:
new File(System.getProperty("user.dir") + "/Report/" + System.getProperty("env") + "/" + Pattern.compile("^Log_") + "/Logs").mkdirs();
答案 0 :(得分:1)
根据您的评论,您似乎正在尝试查找其基名称以Log_
开头的唯一子目录。您可以使用Files.list完成此操作:
Path logParent = Paths.get(
System.getProperty("user.dir"),
"Report",
System.getProperty("env"));
Path logDir;
try (Stream<Path> listing = Files.list(logParent)) {
Optional<Path> match = listing.filter(p -> Files.isDirectory(p) &&
p.getFilename().toString().startsWith("Log_")).findFirst();
logDir = match.orElseThrow(() -> new RuntimeException(
"No log directory found in " + logParent));
}