使用路径获取 java 中的特定子目录
get specific subdirectory in java using paths
获取我当前使用的目录的子目录
Paths.get(currentpath.toString(), "subdirectory");
有没有更好的方法?我特别不喜欢 toString 调用,如果可能,我宁愿不使用 .toFile()
。
我试着在这里搜索这个,但我只找到了关于旧 api 或我当前正在使用的内容或完全不相关的问题的答案。
您可以 resolve
根 Path
子目录的名称,如下所示:
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
获取我当前使用的目录的子目录
Paths.get(currentpath.toString(), "subdirectory");
有没有更好的方法?我特别不喜欢 toString 调用,如果可能,我宁愿不使用 .toFile()
。
我试着在这里搜索这个,但我只找到了关于旧 api 或我当前正在使用的内容或完全不相关的问题的答案。
您可以 resolve
根 Path
子目录的名称,如下所示:
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