モジュール java.base
パッケージ java.nio.file

クラスFileSystem

java.lang.Object
java.nio.file.FileSystem
すべての実装されたインタフェース:
Closeable, AutoCloseable

public abstract class FileSystem extends Object implements Closeable
ファイル・システムへのインタフェースを提供し、ファイル・システム内のファイルやその他のオブジェクトにアクセスするためのオブジェクトのファクトリです。

FileSystems.getDefaultメソッドを呼び出して取得されるデフォルトのファイル・システムは、Java仮想マシンからアクセス可能なファイル・システムへのアクセスを提供します。 FileSystemsクラスは、ほかの種類の(カスタム)ファイル・システムへのアクセスを提供するファイル・システムを作成するためのメソッドを定義します。

ファイル・システムは、いくつかの種類のオブジェクトのファクトリです。

ファイル・システムはきわめて多種多様です。 あるケースでは、ファイル・システムは最上位のルート・ディレクトリを1つ持つ単一のファイル階層になります。 別のケースでは、いくつかの異なるファイル階層を保有し、それぞれの階層に独自の最上位のルート・ディレクトリがあります。 getRootDirectoriesメソッドを使用すると、ファイル・システム内のルート・ディレクトリを反復処理できます。 ファイル・システムは通常、ファイル用のストレージを提供する1つまたは複数のベースとなるファイル・ストアで構成されます。 これらのファイル・ストアは、サポートする機能や、ファイルに関連付けられたファイル属性またはmeta-dataでも異なる場合があります。

ファイル・システムは、作成時には開いていて、そのcloseメソッドを呼び出して閉じることができます。 いったん閉じたあとで、そのファイル・システム内のオブジェクトにアクセスしようとすると、ClosedFileSystemExceptionがスローされます。 デフォルト・プロバイダによって作成されたファイル・システムを閉じることはできません。

FileSystemは、ファイル・システムへの読取り専用または読み取り/書込みアクセスを提供できます。 ファイル・システムが読取り専用アクセスを提供するかどうかは、FileSystemの作成時に設定され、そのisReadOnlyメソッドを呼び出すことで確認できます。 読取り専用のファイル・システムに関連付けられたオブジェクトを使ってファイル・ストアへの書込みを試みると、ReadOnlyFileSystemExceptionがスローされます。

ファイル・システムは、複数の並行スレッドで安全に使用できます。 いつでもcloseメソッドを呼び出してファイル・システムを閉じることができますが、ファイル・システムが非同期クローズ可能であるかどうかはプロバイダ固有のものであるため、未指定です。 つまり、あるスレッドがファイル・システム内のオブジェクトにアクセスしているときに、別のスレッドがcloseメソッドを呼び出した場合、最初の操作が完了するまでそのメソッドはブロックされる必要があることがあります。 ファイル・システムを閉じると、ファイル・システムに関連付けられた開いているチャネル、監視サービス、およびその他のクローズ可能なオブジェクトがすべて閉じます。

導入されたバージョン:
1.7