6

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

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

我相信必须有一个用于具有节点扩展的内存文件结构的库/解决方案java.io.File(如我所见)。请放入已知/类似库的链接。欢迎任何意见。

谢谢!

4

3 回答 3

7

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

于 2011-01-24T01:45:32.337 回答
4

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

于 2011-01-24T01:28:11.563 回答
1

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

这支持内存文件系统处理中的 java(7+) 并且也非常易于使用。

于 2017-08-12T00:05:29.470 回答