ルートディレクトリが1つあり、新しいサブディレクトリを作成できるJavaで単純なメモリ内ファイルシステムを作成したいと思います。ディレクトリでは、新しいファイルの作成、書き込み、読み取り、削除、名前の変更を行うことができます。どこから始めればよいかアドバイスをいただけますか(簡単なコード、またはリソース)。
カスタムファイルシステムプロバイダーは、Java.nio.file.spi.FileSystemProviderクラスを実装する必要があります。ファイルシステムプロバイダーは、file、jar、memory、cdなどのURIスキームによって識別されます。
以下のこれらのリンクは、良い開始情報を提供します
http://docs.Oracle.com/javase/7/docs/technotes/guides/io/fsp/filesystemprovider.html
以下のリンク(メモリ内のファイルシステムについてではありません)は、仮想ファイルシステムに関するものです。独自のファイルシステムを作成する場合に役立つ可能性のあるいくつかの設計上の問題について説明します。
http://www.flipcode.com/archives/Programming_a_Virtual_File_System-Part_I.shtml
ただし、すでにビルドおよびテストされたコードをいつでも使用できます。これにより、保守がより速く簡単になり、エラー状態でサポートを受けることができます。
jimfsを見てください(Java 7 +)のメモリ内ファイルシステム
https://github.com/google/jimfs
また調べてください
Commons仮想ファイルシステムhttp://commons.Apache.org/proper/commons-vfs/
marschall(JSR-203ファイルシステムのメモリ内実装)https://github.com/marschall/memoryfilesystem
インメモリファイルシステムは、GoogleのJimfsとJava 7NIOパッケージを使用してJavaで作成できます。
このリンクを参照してください。ここにサンプルチュートリアルがあります: Javaでインメモリファイルシステムを作成する
memoryfilesystem を使用します。
Jimfsは以前の回答で言及されていますが、memoryfilesystemはさらに多くのことを処理します。
使用例:
final FileSystem fs = MemoryFileSystem.newLinux().build("myfs");
final Path dir = fs.getPath("thedir");
Files.createDirectory(dir);
などなど。Java.nio.fileAPIを使用して、この中のファイルを操作します(File
は機能しません!)。詳細については、 ここ を参照してください。