我一直在使用 NIO2 文件路径来访问本地文件系统资源。但是,当我尝试对非本地文件系统使用相同的 API 时,会出现以下异常:
Exception in thread "main" java.nio.file.FileSystemNotFoundException:
Provider "http" not installed. Code snippet can be found below
Path toFileSystem= Paths.get(new URI("http://www.wiley.com"));
我想确认有一种方法可以将http添加到FileSystemProvider中? 或者是否有一个好的指南,我可以遵循通过NIO2 API访问非本地模式?
我认为 std 库没有附带的 HTTP 文件系统提供程序。这是因为在另一端有不同的方法来构建"文件系统",并且没有合理的默认值。
这个链接以非常全面的方式解释了蔚来的东西: https://docs.oracle.com/javase/tutorial/essential/io/fileio.html .
您实际上正确地构造了此Path
,但问题是您没有向http
方案注册的FileSystemProvider
。
好消息是你可以自己做:https://docs.oracle.com/javase/7/docs/technotes/guides/io/fsp/filesystemprovider.html