Java nio:如何在绝对路径中添加扩展?

2022-09-01 09:50:30

这感觉应该是直截了当的东西,但我似乎可以找到一个优雅的解决方案,而无需转换为.File

给定一个Path

Path path = Paths.get("/a/b/foo")

如何获得路径? 将返回相对路径,而不管原始路径是相对路径还是绝对路径。/a/b/foo.barsubpath

我宁愿不必使用其他库。但是,也许这是唯一的方法?


答案 1

要更改 的文件名,请使用 resolveSibling() 方法之一:Path

当一个文件名需要替换为另一个文件名时,这很有用。

使用此方法可确保结果对象与源对象具有相同的文件系统PathPath

因此,要将扩展名添加到:".bar"Path

path = path.resolveSibling(path.getFileName() + ".bar");

答案 2

推荐