如何从java.nio.Path获取路径字符串?
用更多信息重写了问题
我有一些使用相对路径创建Path
对象的代码,如: Paths.get("..", "folder").resolve("filename")
。 后来,我想从它获取路径字符串“.. \ folder \ filename”(我在Windows上,所以反斜杠)。 当我使用手动编译或从Eclipse运行此代码时,这很好。
但是,当我使用Maven运行它时,它不再起作用了。 toString()
方法返回[.., folder, filename]
而不是实际的路径字符串。 使用path.normalize()
没有帮助。 使用path.toFile().getPath()
会返回我正在寻找的东西,但我觉得应该有一个只使用nio.path
API的解决方案。
使用:
Paths.get(...).normalize().toString()
另一个解决方案是:
Paths.get(...).toAbsolutePath().toString()
但是,你会得到奇怪的结果: Paths.get("/tmp", "foo").toString()
在这里返回/tmp/foo
。 你的文件系统是什么?