有谁能告诉我Paths.get("")
指向的地方?
这是代码和输出。
public static void main(String[] args) {
Path path = Paths.get("");
System.out.printf("`%s`%n", path);
System.out.printf("`%s`%n", path.normalize());
System.out.println(Files.exists(path));
System.out.println(Files.isExecutable(path));
}
``
``
true
true
答案 0 :(得分:4)
它映射到运行程序的目录。
将其转换为绝对路径来测试自己。
System.out.println(Paths.get("").toAbsolutePath());
答案 1 :(得分:4)
System.out.println(Paths.get("").toAbsolutePath());
/用户/安德鲁/工作区/刮
看起来它是当前的工作目录。在我的机器上,Java报告它是可执行的,因为' x'当前用户的目录上的标志为true。
来自javadocs:
此方法检查文件是否存在,以及此Java虚拟机是否具有执行该文件的适当权限。检查对目录的访问时,语义可能不同。例如,在UNIX系统上,检查执行访问权限检查Java虚拟机是否有权搜索目录以访问文件或子目录。
答案 2 :(得分:0)
正如文档所说,它已链接到现有的文件系统:
使用它将暗示对默认FileSystem的假定引用并限制调用代码的实用程序
您可以查看小更新:
public static void main(String[] args) {
Path path = Paths.get("");
System.out.printf("`%s`%n", path);
System.out.printf("`%s`%n", path.normalize());
System.out.println(Files.exists(path));
System.out.println(Files.isExecutable(path));
System.out.println(path.toFile().getAbsolutePath());
}
最后输出类似于:
C:\用户\纳扎尔\项目\ IdeaProjects \测试项目