这感觉它应该是直截了当的东西,但我似乎可以找到一个优雅的解决方案,而无需转换File.
给出一个 Path
Path path = Paths.get("/a/b/foo")
Run Code Online (Sandbox Code Playgroud)
怎么做路径/a/b/foo.bar?subpath无论原始路径是相对路径还是绝对路径,都将返回相对路径.
我宁愿不必使用额外的库.但是,也许这是唯一的方法?
And*_*eas 22
要更改a的文件名Path,请使用以下resolveSibling()方法之一:
在需要用其他文件名替换文件名的情况下,这很有用.
使用此方法可确保结果Path对象FileSystem与源Path对象相同.
所以,要添加扩展".bar"到Path:
path = path.resolveSibling(path.getFileName() + ".bar");
Run Code Online (Sandbox Code Playgroud)