【问题标题】:Java's FileSystemProvider for user space file system?Java的FileSystemProvider用于用户空间文件系统?
【发布时间】:2014-03-08 17:48:00
【问题描述】:

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

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

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

【问题讨论】:

  • 正如我所读到的,FileSystemProvider 可用于为 Java 程序构建类似文件系统的功能——例如,如果你想将文件系统映射到数据库——但没有t 插入操作系统的文件系统驱动程序,因此对于您的程序之外的任何东西来说似乎都不是文件系统。如果在 Java 中有任何方法可以做到这一点,我会感到非常惊讶。设备驱动程序级别的黑客攻击并不是 Java 特别适合的。 (并不是说这不可能,只是我不希望有人付出努力使之成为可能。)

标签: java fuse virtualfilesystem


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2017-04-18
    • 2011-02-24
    • 2022-01-05
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    相关资源
    最近更新 更多