gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 17:55:23 28 4
gpt4 key购买 nike

我开始使用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 中明确指出:

This class consists exclusively of static methods that return a Path by converting a path string or URI.

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

<小时/>

要从基本 Path 解析资源 Path,您无需再次使用 Paths 类。
Path 方法提供对 Path 的操作(比较、两个 Path 之间的 Path 创建等),如 Path 解析。

Path resolve(Path other);

Resolve the given path against this path.

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

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

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

关于java - 为什么 java.nio.Paths.get(..) 不将 java.nio.Path 对象作为输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45401994/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com