我可以将NIO2文件路径用于非本地文件系统架构

时间:2018-01-28 18:42:47

标签: java nio2

我一直在使用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访问非本地模式?

1 个答案:

答案 0 :(得分:3)

我认为std库附带的HTTP文件系统提供程序并不存在。这是因为在另一端有不同的方法来构建“文件系统”,没有合理的默认值。

此链接以非常全面的方式解释了NIO的内容:https://docs.oracle.com/javase/tutorial/essential/io/fileio.html

您实际上正确构建了此Path,但问题是您没有使用FileSystemProvider方案注册的http

好消息是你可以制作自己的:https://docs.oracle.com/javase/7/docs/technotes/guides/io/fsp/filesystemprovider.html