0

c、c ++、golang、java、.netのメモリにファイルシステムのライブラリがあるかどうか知りたいのですが

目的は、一時ファイルをメモリに保存することであり、ユーザーアクセスではなく、プログラムの内部使用のみを目的としているため、RAMドライブは必要ありません。

4

4 に答える 4

3

Java NIOを使用してメモリ内ファイルシステムを作成するためのJimFSと呼ばれるGoogleが開発したライブラリがあります。これは、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を使用する場合:commonsvfsは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 に答える