使用路径获取 java 中的特定子目录

get specific subdirectory in java using paths

获取我当前使用的目录的子目录

Paths.get(currentpath.toString(), "subdirectory");

有没有更好的方法?我特别不喜欢 toString 调用,如果可能,我宁愿不使用 .toFile()

我试着在这里搜索这个,但我只找到了关于旧 api 或我当前正在使用的内容或完全不相关的问题的答案。

您可以 resolvePath 子目录的名称,如下所示:

public static void main(String[] args) {
    // definition of the root directory (adjust according to your system)
    String currentPath = "C:\";
    Path root = Paths.get(currentPath);

    // get a specific subdirectory by its name
    String specificSubDir = "temp";
    // resolve its name against the root directory
    Path specificSubDirPath = root.resolve(specificSubDir);

    // and check the result
    if (Files.isDirectory(specificSubDirPath)) {
        System.out.println("Path " + specificSubDirPath.toAbsolutePath().toString()
                + " is a directory");
    } else {
        System.err.println("Path " + specificSubDirPath.toAbsolutePath().toString()
                + " is not a directory");
    }
}

因为我有一个目录 C:\temp\,所以我系统上的输出是

Path C:\temp is a directory