Java nio:如何为绝对路径添加扩展名?
Java nio: How to add extension to an absolute path?
这感觉应该是直截了当的事情,但我似乎可以找到一个优雅的解决方案,而无需转换为 File
。
给定一个 Path
Path path = Paths.get("/a/b/foo")
如何获取路径/a/b/foo.bar
? subpath
将 return 相对路径,无论原始路径是相对路径还是绝对路径。
我宁愿不必使用额外的库。但是,也许这是唯一的方法?
要更改 Path
的文件名,请使用 resolveSibling()
方法之一:
This is useful where a file name needs to be replaced with another file name.
使用此方法可确保结果 Path
对象与源 Path
对象相同 FileSystem
。
因此,要将扩展名 ".bar"
添加到 Path
:
path = path.resolveSibling(path.getFileName() + ".bar");
这感觉应该是直截了当的事情,但我似乎可以找到一个优雅的解决方案,而无需转换为 File
。
给定一个 Path
Path path = Paths.get("/a/b/foo")
如何获取路径/a/b/foo.bar
? subpath
将 return 相对路径,无论原始路径是相对路径还是绝对路径。
我宁愿不必使用额外的库。但是,也许这是唯一的方法?
要更改 Path
的文件名,请使用 resolveSibling()
方法之一:
This is useful where a file name needs to be replaced with another file name.
使用此方法可确保结果 Path
对象与源 Path
对象相同 FileSystem
。
因此,要将扩展名 ".bar"
添加到 Path
:
path = path.resolveSibling(path.getFileName() + ".bar");