Ste*_* K. 4 java filesystems file
对于我的用例,我想在内存目录中存储一些文件很短的时间.实际上我.class
在运行时将源代码编译成文件,加载并执行它们.干净的方法是创建一个虚拟目录,让编译器在那里创建.class文件.当然我可以使用临时目录,但是我必须在编译前清理它,我不知道我是否是唯一使用它的人,等等.
那么,是什么以及如何在内存的意义上创建一个虚拟的Java目录呢?
在Java 6中,实际上不可能在Java应用程序中执行此类操作.您需要依靠OS平台来提供伪文件系统.
在Java 7中,NIO API已经扩展为提供允许您定义新文件系统的API; 看FileSystemProvider
.
Apache Commons VFS是另一种选择,但它有一些特性可能会导致现有代码和(第三方)库出现问题:
VFS中的文件和目录使用URL而不是File
对象命名.因此,File
用于文件操作的代码将不起作用.
FileInputStream
,出于同样的原因FileOutputStream
,FileReader
并且FileWriter
不会与VFS一起使用.