当前位置: 首页 > 面试题库 >

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

贝成业
2023-03-14
问题内容

对于我的用例,我想在内存目录中存储一些文件,时间很短。实际上,我.class在运行时将源代码编译为文件,并进行类加载和执行。干净的方法是创建一个虚拟目录,然后让编译器在其中创建.class文件。当然我
可以 使用一个临时目录,但是在编译之前我必须先清理它,我不知道我是否是唯一使用它的人,依此类推。

那么,在内存中,用Java创建虚拟目录是否可行?


问题答案:

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

在Java 7中,对NIO
API进行了扩展,以提供允许您定义新文件系统的API。见FileSystemProvider

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

  • VFS中的文件和目录使用URL而不是File对象来命名。因此,File用于文件操作的代码将不起作用。

  • FileInputStreamFileOutputStreamFileReaderFileWriter不会与VFS出于同样的原因,工作。



 类似资料:
  • 我是Hadoop的新手。我正试图在hdfs中创建一个目录,但我无法创建。 我已经登录到“hduser”,因此我假设/home/hduser“作为Unix FS预先存在,所以我尝试使用下面的命令创建hadoop目录。 在线搜索后,我想到可能是hadoop不能理解“/home/hduser”,或者我使用的hadoop2中mkdir不能像Unix命令“madir-p”(递归)那样工作。因此,我尝试创建“

  • 我已经创建了一个Python虚拟环境,并通过执行以下操作来激活它: 将提示转换为: 现在,每当我运行一个python包或尝试安装一个时,系统似乎忽略了它在虚拟环境中的事实,并在系统范围内执行操作: 当我尝试安装不在系统上的新软件包时,也会发生同样的情况;它将它们安装到系统文件(即/usr/bin)而不是虚拟环境中。 我的虚拟环境怎么了?如何让它忽略系统文件并在环境中执行所有操作? 我看过这个问题,

  • 问题内容: 如果要在中创建文件,可以执行以下操作: 另外,我想用于创建文件。那我该怎么办呢?由于某种原因,该文件未在正确的目录中创建。 问题答案: 最好的方法是:

  • 条件是,如果目录存在,则必须在该特定目录中创建文件,而不创建新目录。 下面的代码仅使用新目录创建一个文件,而不针对现有目录。例如,目录名类似于“GETDIRECTION”:

  • 在早期的嵌入式系统中,需要存储的数据比较少,数据类型也比较单一,往往使用直接在存储设备中的指定地址写入数据的方法来存储数据。然而随着嵌入式设备功能的发展,需要存储的数据越来越多,也越来越复杂,这时仍使用旧方法来存储并管理数据就变得非常繁琐困难。因此我们需要新的数据管理方式来简化存储数据的组织形式,这种方式就是我们接下来要介绍的文件系统。 文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的

  • 问题内容: 条件是目录是否存在,它必须在该特定目录中创建文件而无需创建新目录。 下面的代码仅创建具有新目录的文件,而不为现有目录创建文件。例如,目录名称将类似于“ GETDIRECTION” 问题答案: 此代码首先检查目录是否存在,如果不存在则创建该目录,然后创建该文件。请注意,由于我没有完整的代码,因此我无法验证您的某些方法调用,因此,我假设对和这样的事情都可以使用。使用任何类时,您还应该做一些