Java的FileSystemProvider用于用户空间文件系统?

时间:2014-02-11 04:52:59

标签: java fuse virtualfilesystem

Truecrypt或Dropbox等程序为文件处理提供了一种舒适的方式。至少在Windows下,Truecrypt安装了一个感觉自然的新驱动器,就像物理驱动器一样。 Dropbox会创建一个可以自动上传/下载数据的新文件夹。

如果我想实现类似的东西,那么Java的FileSystemProvider是正确的方法吗?

我想要的是出现一个新文件夹并列出用户系统中不存在的(远程)文件。但是当用户尝试打开这样的文件或将其复制到其他路径时,这应该按预期工作。

1 个答案:

答案 0 :(得分:1)

要创建对系统中所有(或选定)应用程序可见的虚拟文件系统,您需要在Windows上创建文件系统驱动程序(在Linux和MacOS上分别存在FUSE和OSXFUSE)。这是一个缓慢而痛苦的过程。

正如@keshlam在评论中写的那样,Java的类不适合创建系统可见的虚拟磁盘。

再次针对Windows,您可以查看我们的回调文件系统产品,该产品允许您以用户模式编写业务逻辑,并提供预先创建的文件系统内核模式驱动程序。它包含Java API,因此您可以在Java中使用它。由于基于Unix的操作系统和Windows中文件系统架构的差异,API与FUSE中的API不同。