我想知道c,c ++,golang,java,.net
内存中是否有任何文件系统库目的是将临时文件保存在内存中,而不是用户访问,仅供程序内部使用,因此我不需要ram驱动。
答案 0 :(得分:3)
有一个名为JimFS的Google开发库,用于使用Apache 2许可证下的Java NIO开源创建内存中文件系统,并在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.
}
答案 1 :(得分:1)
如果使用java:commons vfs支持RAM文件系统类型
答案 2 :(得分:0)
在C ++中,最简单的解决方案是对我们来说
std::ostringstream
将数据放入字符串中,然后放入
std::istringstream
重新阅读。虽然已弃用,
strstream
将允许您避免动态分配和
副本(假设您知道数据的最大大小
在手之前)。或者您可以轻松编写自己的streambuf
做到这一点。或者,如果您不需要格式化,当然,您可以
将数据推送到std::vector
。
IIRC,Java也有基于内存的流(基于Byte [], 我想)。
答案 3 :(得分:0)
.Net有一个可以使用的MemoryStream类(System.IO): http://msdn.microsoft.com/en-us/library/system.io.memorystream.aspx