1

javaのディレクトリへのパスのようにリモートファイルシステムを装飾するにはどうすればよいですか? たとえば、次のようなものです。

File decoratorFileSystem = new File("ftp://host/path"); // this does not work of course
...
File file1 = new File(decoratorFileSystem, "somefile1");
File file2 = new File(decoratorFileSystem, "somefile2");

したがってfile1file2または他の装飾されたファイルを使用する場合、装飾されたファイルシステムから、対応する制限のあるローカルファイルであるかのように、リモートファイルにアクセスできます。

「org.apache.commons.vfs2.provider ....」の仮想ファイルシステムを使用すると思いますが、これが正しい方法かどうかはわかりません...

4

1 に答える 1

0

JavaのFileは、OS によってマウントされたファイルシステム上の実際のファイル (つまり、OS がファイルであると認識するもの) のみを参照できます。

この方法では、仮想ファイルシステムにアクセスできません (OS によって処理されない限り、つまり、Linux の直下に FTP ディレクトリをマウントする場合は、 を使用できますFile)。

ただし、NIO2の新しいPathクラス(Java 7 以降で使用可能) は、仮想ファイル システムを念頭に置いて明示的に設計されています。

このチュートリアルクラスを見てFileSystemProvider独自の仮想ファイル システムを定義する方法を見つけてください。Zip File System Providerはサンプル実装です。

于 2013-03-15T12:33:29.160 に答える