是否可以创建 Java RAM 磁盘以与 java.io.* API 一起使用?
我正在使用第三方库,它基本上创建了一个输出目录,其中包含不同类型的文件和子目录。我希望能够编写单元测试以确认输出是否正确。
我希望能够将lib与RAM磁盘一起使用,以便库所做的任何事情都不会以任何方式接触实际的磁盘板。这个想法是使测试非常快速地运行和清理(丢弃RAM磁盘?
我可用的两个最突出的选项是Commons VFS和JSR 203。前者对我来说没有用,因为我希望使用 java.io.*API而不是Commons VFS类来透明地工作。后者不会削减它,因为我必须使用JDK 6(它应该是JDK 7的一部分),我不知道它是否会与 java.io 无缝协作。无论如何(我不会打赌)。
还有其他解决方案,但我不能使用它们,原因与我不能使用Commons VFS的原因相同。由于所讨论的库的复杂性,Mocks是不可能的。
在我的 Linux 计算机上,我可以轻松地创建 RAM 驱动器并使用 java.io.* API,就像处理磁盘上的文件一样。问题是,我希望它是跨平台的,更具体地说,是使磁盘设置成为测试过程的一部分,而不是外部的东西。
那么,有没有办法在Java中注册一个RAM驱动器,该驱动器可以与标准的 java.io.* API一起使用?