对于我的用例,我希望有一个内存目录来在很短的时间内存储一些文件。实际上,我在运行时将源代码编译为 .class
文件,加载并执行它们。干净的方法是创建一个虚拟目录并让编译器在那里创建 .class 文件。当然,我可以使用一个临时目录,但我必须在编译前清理它,我不知道我是否是唯一一个使用它的人,等等。
那么,在 Java 中,在内存中创建一个虚拟目录是可能的,又是如何创建的?
最佳答案
在 Java 6 中,实际上不可能在 Java 应用程序中执行此类操作。您需要依赖操作系统平台来提供伪文件系统。
在 Java 7 中,NIO API 已被扩展以提供允许您定义新文件系统的 API;见FileSystemProvider
.
Apache Commons VFS是另一种选择,但它有几个特性可能会导致现有代码和(第 3 方)库出现问题:
VFS 中的文件和目录是使用 url 命名的,而不是
File
对象。因此,使用File
进行文件操作的代码将无法运行。FileInputStream
、FileOutputStream
、FileReader
和FileWriter
不能与 VFS 一起工作同样的道理。
关于java - 如何在内存中创建目录?伪文件系统/虚拟目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5508601/