2013-03-15 89 views
0

如何装饰一些远程文件系统,如在java目录中的路径? 例如是这样的:虚拟文件系统映射到本地文件

File decoratorFileSystem = new File("ftp://host/path"); // this does not work of course 
... 
File file1 = new File(decoratorFileSystem, "somefile1"); 
File file2 = new File(decoratorFileSystem, "somefile2"); 

所以当我将使用file1file2或其他装饰的文件,我从装饰文件系统访问远程文件,好像与对应限制它的本地文件。

我想用虚拟文件系统从“org.apache.commons.vfs2.provider ......”但我不知道这是正确的方式...

回答

0

Java中的File永远只能引用由OS安装的文件系统上的真实文件(即,OS知道是文件的东西)。

虚拟文件系统不能以这种方式访问​​(除非它由操作系统处理,即如果您直接在Linux下挂载FTP目录,则可以使用File)。

NIO2的newer Path class(可用于Java 7及更高版本)但明确设计时考虑了虚拟文件系统。

看看this tutorialthe FileSystemProvider class找出如何定义你自己的虚拟文件系统。 Zip File System Provider是一个示例实现。