Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从java.nio.path获取路径字符串?_Java_File_Nio - Fatal编程技术网

如何从java.nio.path获取路径字符串?

如何从java.nio.path获取路径字符串?,java,file,nio,Java,File,Nio,用更多信息重写问题 我有一些代码使用相对路径创建一个路径对象,比如:路径。获取(“…”,“文件夹”)。解析(“文件名”)。稍后,我想从中获取路径字符串“.\folder\filename”(我在windows上,所以使用反斜杠)。当我使用手动编译或从Eclipse运行此代码时,效果很好 然而,当我使用Maven运行它时,它不再工作了。toString()方法返回[…,文件夹,文件名]而不是实际的路径字符串。使用path.normalize()没有帮助。使用path.toFile().getPat

用更多信息重写问题

我有一些代码使用相对路径创建一个
路径
对象,比如:
路径。获取(“…”,“文件夹”)。解析(“文件名”)
。稍后,我想从中获取路径字符串“.\folder\filename”(我在windows上,所以使用反斜杠)。当我使用手动编译或从Eclipse运行此代码时,效果很好

然而,当我使用Maven运行它时,它不再工作了。
toString()
方法返回
[…,文件夹,文件名]
而不是实际的路径字符串。使用
path.normalize()
没有帮助。使用
path.toFile().getPath()
确实会返回我想要的结果,但我觉得应该有一个解决方案,只使用
nio.path
API。

使用:

Paths.get(...).normalize().toString()
另一个解决办法是:

Paths.get(...).toAbsolutePath().toString()

但是,您会得到奇怪的结果:
path.get(“/tmp”,“foo”).toString()
在这里返回
/tmp/foo
。您的文件系统是什么?

这似乎不对。两个
path.get(“path/to/file”).toString()
path.get(“path”、“to”、“file”).toString()
都为我返回
“path/to/file”
。对于
path.get(“path/to”).resolve(“file”).toString()
,它返回
“path/to/file”
。我可能错了,但对我来说都返回相同的字符串!!!对于
path.get(“path”、“to”、“file”).getClass().getName()
,您看到了什么结果?也许您选择的是一个不可靠的文件系统实现。区别可能是我从一个路径开始(相对于工作目录):
路径。get(“…”、“path/to”、“file”)
。我认为这与问题无关,但显然是。更新了问题,并提供了有关失败时间的更多信息。您确定这是您使用的java.nio.path吗?是的,我确定:)
java.nio.file.path
,确切地说。