如何通过Java 8中的FileSystem类与外部文件系统连接?

时间:2017-01-15 10:09:01

标签: java http java-8 filesystems nio2

我在OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide书中找到了使用http协议与外部文件系统建立连接的以下示例:

FileSystem fileSystem = FileSystems.getFileSystem(new URI("http://www.selikoff.net"));
Path path = fileSystem.getPath("duck.txt");

但是当我运行这个例子时,我收到运行时异常:

Exception in thread "main" java.nio.file.ProviderNotFoundException: Provider "http" not found

有谁可以解释这个例外的原因?
如何运行此示例,使用FileSystem类正确连接外部文件系统?

任何帮助高度赞赏。

1 个答案:

答案 0 :(得分:1)

看起来NIO.2 API并没有试图决定我们应该如何引用外部文件系统。对于本地系统,它的行为类似于旧的API,但对于外部资源,我认为开发人员必须创建适合他们所需目的的自定义提供程序。

这里有一个起点:Developing A Custom File System Provider.