Truecrypt或Dropbox等程序提供了一种舒适的文件处理方式。至少在Windows Truecrypt下安装了一个感觉自然的新驱动器,就像物理驱动器一样。Dropbox 会创建一个可以自动上传/下载数据的新文件夹。
如果我想实现类似的东西,那么Java的FileSystemProvider是正确的方法吗?
我想要的是出现一个新文件夹并列出用户系统上不存在的(远程)文件。但是当用户尝试打开此类文件或将其复制到其他路径时,这应该按预期工作。
要创建对系统中所有(或选定的)应用程序可见的虚拟文件系统,您需要在Windows上创建一个文件系统驱动程序(在Linux和MacOS上分别存在FUSE和OSXFUSE)。这是一个缓慢而痛苦的过程。
正如@keshlam在注释中所写,Java的类不适合创建系统可见的虚拟磁盘。
同样,对于 Windows,您可以查看我们的回调文件系统产品,该产品允许您在用户模式下编写业务逻辑,并提供预先创建的文件系统内核模式驱动程序。它包括Java API,因此您可以在Java中使用它。由于基于 Unix 的操作系统和 Windows 中的文件系统架构存在差异,API 与 FUSE 中的 API 不同。