繁体   English   中英

为什么java.nio.Paths.get(..)不将java.nio.Path对象作为输入?

[英]Why does java.nio.Paths.get(..) does not take java.nio.Path objects as input?

我开始使用java.nio.* ,现在我很想知道:为什么java.nio.Paths.get(..)不将java.nio.Path对象作为输入?

现在我一直在做这样的事情:

final Path basePath = Paths.get("/some/base/path");
final Path filePath = Paths.get(basePath.toString(), "file.txt");

因此,或者我忽略了一些真正的基本知识,或者API设计人员完全忘记了此选项,我对此深表怀疑。

此类是一种创建Path对象的工厂方法,其目的在javadoc中明确指出:

此类由静态方法组成,这些静态方法通过转换路径字符串或URI 返回Path

如果我们已经有一个Path对象,那将是调用此方法的目标


要从基本Path解析资源Path ,则无需再次使用Paths类。
Path的方法提供了关于操作Path (比较, Path创建之间的两个Path S,等。)作为Path解决。

Path resolve(Path other);

针对该路径解析给定路径。

或更简单地说,它从其中两个创建Path

假设位于D:/my-resources/one-resource

Path relativePathResource = Paths.get("one-resource");
Path absolutePathResource = Paths.get("D:/my-resources").resolve(resource);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM