我正在尝试使用 Java.nio.file.Path 类读取文件的内容,我的代码如下所示
package com.test.json;
Path currentDir = Paths.get(".");
System.out.println(currentDir.toAbsolutePath());
它给了我道路
/home/rohit/workspace/MapReduceExample/.
而输出应该是
home/rohit/workspace/MapReduceExample/src/com/test/json/
它忽略了 src 文件夹和包的组件。有人可以告诉我我做错了什么吗?
我不能给出绝对路径,因为我需要这段代码来获取 map-reduce 路径,我必须以相对方式构造路径。所以,我的方法是做
getCurrentDirectoryPath + filename
,您期望源 Java 文件(调用 Paths.get(".")
)所在的目录Path
。但这不是"."
将要获取的路径。当 JVM 在主机文件系统上运行您的类时,"." 的值是指 JVM 进程的当前工作目录。运行类的 JVM 很可能实际上是在该文件夹中启动的:/home/rohit/workspace/MapReduceExample
。如果你做了一个
System.out.println(Paths.get(
System.getProperty("user.dir")).toAbsolutePath());
您将看到它打印相同的文件夹,没有尾随"."
。