gpt4 book ai didi

用于 URL 的 java.nio.file.Path?

转载 作者:IT老高 更新时间:2023-10-28 21:09:16 25 4
gpt4 key购买 nike

Java7 附带一个默认的 Path本地文件的实现。 是否有用于 URL 的路径实现?

例如,我应该能够使用以下代码复制远程资源:

Path remote = Paths.get(new URI("http://www.example.com/foo/bar.html"));
Path local = Paths.get(new URI("/bar.html"));
Files.copy(remote, local);

目前,这会抛出 java.nio.file.FileSystemNotFoundException: Provider "http"not installed。我可能可以自己实现这个,但我不想重新发明轮子。

最佳答案

看起来您真正想做的是完成 FTP 所做的事情 - 将文件从一个地方复制到另一个地方。我建议您使用现有的 FTP 代码库找到更好的方法。

URI 不是文件系统路径,因此您不能这样对待它们。它们是地址/资源定位器,当您使用浏览器(或处理它们的另一个客户端)到那里时,它们会触发它们背后的服务器定义的某些操作。该服务器的功能没有标准,因此 Web 服务具有灵 active 。因此,如果您的服务器以这种方式接受 HTTP 请求以方便文件复制,您将不得不自己动手,并将文件数据传递到 POST 请求中。

换一种说法,(1) 不要将 URI 视为文件系统路径 - 它们不是,(2) 找到一个 FTP 库来复制文件,和/或 (3) 如果你真的想要要构建执行此操作的 Web 服务,请通过 POST 请求抽象文件复制的详细信息。如果您了解#3,您的建筑非常接近定制,并且它可能仅适用于遵循您的特定设计的部分网站(即您自己 build 的网站)。没有标准的参数集或通过 POST 命令的“文件复制”,我知道您可以利用它来使其“正常工作” - 您必须将您的 HTTP 请求与 Web 服务相匹配服务器端。

关于用于 URL 的 java.nio.file.Path?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8783523/

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