Java内存中的文件结构?

我需要动态地使用资源做很多事情:解析xsd / xml文档,构建和编译java类,将它们打包到jar和wars中,在DB中保存,将它们部署为OSGi等。

我使用的大多数库/ API允许在内存中执行所有这些中间任务,但是有一些“特殊”库仅在java.io.File运行。 除了使用在Java EE环境中不好的真实临时文件和目录之外,没有什么可以留给我的。

我相信必须有一个内存文件结构的库/解决方案,其节点扩展了java.io.File (我看到它)。 请放入已知/类似库的链接。 欢迎任何评论。

谢谢!

我不相信你会找到你想要的东西。 编写java.io.File API的目的不是提供可以以各种方式实现的文件系统抽象。 虽然它确实暴露了某些FS操作的方法(例如delete和mkdir),但它不处理基本的读/写I / O. 这留给其他类,例如FileInputStream。 这意味着从API的角度来看,File对象只不过是一个路径。 没有什么是抽象的。 你被困住了。

一种选择是使用RAM磁盘 。 你的程序会认为它使用带有java.io.File的磁盘,但它确实会使用主内存。

有一个很好的选择: https : //github.com/google/jimfs

这支持java(7+)内存文件系统处理,也非常容易使用。