java - 如何在内存中创建目录?伪文件系统/虚拟目录

标签 java file filesystems

对于我的用例,我希望有一个内存目录来在很短的时间内存储一些文件。实际上,我在运行时将源代码编译为 .class 文件,加载并执行它们。干净的方法是创建一个虚拟目录并让编译器在那里创建 .class 文件。当然,我可以使用一个临时目录,但我必须在编译前清理它,我不知道我是否是唯一一个使用它的人,等等。

那么,在 Java 中,在内存中创建一个虚拟目录是可能的,又是如何创建的?

最佳答案

在 Java 6 中,实际上不可能在 Java 应用程序中执行此类操作。您需要依赖操作系统平台来提供伪文件系统。

在 Java 7 中,NIO API 已被扩展以提供允许您定义新文件系统的 API;见FileSystemProvider .

Apache Commons VFS是另一种选择,但它有几个特性可能会导致现有代码和(第 3 方)库出现问题:

  • VFS 中的文件和目录是使用 url 命名的,而不是 File 对象。因此,使用 File 进行文件操作的代码将无法运行。

  • FileInputStreamFileOutputStreamFileReaderFileWriter 不能与 VFS 一起工作同样的道理。

关于java - 如何在内存中创建目录?伪文件系统/虚拟目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5508601/

相关文章:

javascript - 在 Firefox 中设置 FileInput 的 FileList

java - 如何处理Java中的磁盘已满错误

macos - stat.h 中的 UF_TRACKED 文件标志

java - Spring Data Rest API 依赖以及 n 层中的问题

java - 在 Java 中抛出异常而不终止程序

perl - 如何将文件夹中的文件名收集到列表中?

file - Rust:我想获取目录中最后修改的文件

java - 如何将日期和时间转换为时间戳

java - 如何在 java SWT 组合框中填充美国各州?

c++ - FAT32 实际上不符合 Microsoft 的文档