0

我想知道内存中是否有任何用于 c、c++、golang、java、.net 的文件系统库

目的是将临时文件保存在内存中,不供用户访问,仅供程序内部使用,所以我不需要ram驱动器。

4

4 回答 4

3

有一个名为JimFS的 Google 开发库,用于使用 Java NIO 创建内存文件系统,它是在 Apache 2 许可证下开源的,可在GitHub上找到 它非常易于使用

try (FileSystem fs = Jimfs.newFileSystem(Configuration.unix())) {
  Path foo = fs.getPath("/foo");
  Files.createDirectory(foo);

  Path hello = foo.resolve("hello.txt"); // /foo/hello.txt
  Files.write(hello, ImmutableList.of("hello world"), StandardCharsets.UTF_8);

  // Close the FileSystem when you're done with it so it can be garbage collected.
}
于 2014-05-21T12:33:13.983 回答
1

如果使用 java : commons vfs支持RAM文件系统类型

于 2013-03-26T17:25:56.397 回答
0

在 C++ 中,最简单的解决方案是将 std::ostringstream数据放入字符串中,然后 std::istringstream重新读取它。尽管已弃用, strstream但可以避免动态分配和副本(假设您事先知道数据的最大大小)。或者您可以轻松编写自己的代码streambuf来完成。或者,如果您不需要格式化,当然,您可以将数据推送到std::vector.

IIRC,Java 也有基于内存的流(我认为是基于 Byte[])。

于 2013-03-26T17:25:47.053 回答
0

.Net 有一个可以使用的 MemoryStream 类(System.IO):http: //msdn.microsoft.com/en-us/library/system.io.memorystream.aspx

于 2013-03-26T17:27:43.303 回答