繁体   English   中英

如何使用Java在Windows上创建虚拟磁盘(字母,共享等)?

[英]How can I create a virtual disk (letter, share, etc.) on Windows using Java?

我正在尝试尝试一个用于上课的项目,作为该项目的一部分,我将需要创建一个“磁盘”以允许用户写入一些文件(例如RAM磁盘)。 我使用过多种语言,但是我对Java最熟悉(也许可以使用C#并及时完成)。 我想知道有什么可以做到这一点。

我看过Commons VFS,JLAN和Alfresco,我也许可以使用后两者,但是我想知道是否还有其他选择。 现在,我正在看的Java 7中有新的I / O内容,这些内容可能会有所帮助……实际上,我现在需要弄清的主要事情是映射驱动器的方法。 例如,AFAICT,Commons VFS可以让我访问某个地方的文件(例如FTP),但是我该如何以驱动器号形式显示此访问权限或共享可以映射的访问权限?

谢谢

更新:更清楚地说,我想做的(通常)是创建类似Dropbox的东西。 我想在Windows中有一个驱动器号/共享,但后端将是本地磁盘以外的其他设备(例如LAN上运行服务器组件的另一台计算机)。 我至少需要对后端逻辑进行编码以传输数据,但是不确定如何将其“粘合”到Windows中,使其看起来像是磁盘或网络共享...似乎使用某种CIFS服务和将其暴露给操作系统可能是最有意义的。

您可以使用我们的回调文件系统产品来创建虚拟文件系统,并通过驱动器号或NTFS磁盘上的文件夹公开它。 文件系统操作将由您的代码处理,您将能够将数据传输到云中。 这是我们许多客户使用的方案。

在纯Java中,您将无法创建客户端应用程序,但必须创建一个服务器应用程序,该服务器应用程序会说Windows已经知道如何安装的内容(例如CIFSWeb DAV )。 WebDAV可能是最简单的处理方法。

现在,您在帖子中提到了Dropbox。 我不相信Dropbox实际上会创建虚拟驱动器或文件夹,而是将内容复制到本地文件夹,并监视该文件夹中的更改。 如果选择了该路由,那么Java将有一个WatchService来处理它(完整的tutorial )。 您将必须同时编写客户端和服务器端组件,但是您的文件将在脱机时可用。

如果仍可以在当前Windows版本上运行,则可以尝试使用Microsoft自己的RAM磁盘驱动程序: http : //support.microsoft.com/kb/257405

或者,如果您只需要驱动器号,请尝试使用subst命令。

如果您确实需要对解决方案进行编程,那么我想到的最简单的方法是在一个文件中模拟自己的简单文件系统(记录存储),并提供一些界面供用户管理文件。 即虚拟文件系统。

我不知道当前的Windows版本是否等效于OS X的磁盘映像,这将为您简化事情。

尚不清楚您实际上需要做什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM