Как подключиться к внешней файловой системе через класс FileSystem в Java 8?

Я нашел следующий пример установления соединения с внешней файловой системой по протоколу http в OCP: Книга Oracle Certified Professional Java SE 8 Programmer II Study Guide:

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?

Любая помощь приветствуется.


person Michał Szewczyk    schedule 15.01.2017    source источник
comment
Я не могу прочитать эту конкретную страницу связанной книги, но я думаю, что это всего лишь гипотетический пример, а не пример, который должен работать из коробки. Предустановленной файловой системы http нет.   -  person Holger    schedule 16.01.2017


Ответы (1)


Похоже, что API NIO.2 не пытается диктовать, как мы должны ссылаться на внешние файловые системы. Для локальной системы он ведет себя как старый API, но для внешних ресурсов, я думаю, разработчикам придется создать свой собственный провайдер, подходящий для нужной им цели.

Здесь есть отправная точка: Разработка пользовательского Поставщик файловой системы.

person Tesfaye B.    schedule 11.09.2017