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

クラスFileSystems

java.lang.Object
java.nio.file.FileSystems

public final class FileSystems extends Object
ファイル・システム用のファクトリ・メソッドです。 このクラスは、デフォルトのファイル・システムおよびファクトリ・メソッドを取得してほかの種類のファイル・システムを構築するためのgetDefaultメソッドを定義します。

このクラスで定義されているどのメソッドの最初の呼出しでも、デフォルト・プロバイダがロードされます。 デフォルト・プロバイダ(URIスキーム「file」で識別される)は、Java仮想マシンからアクセス可能なファイル・システムへのアクセスを提供するFileSystemを作成します。 デフォルト・プロバイダのロードまたは初期化の処理が失敗すると、未指定のエラーがスローされます。

このクラスで定義されている newFileSystemメソッドの呼出しによるinstalledProvidersメソッドの最初の呼出しでは、インストールされているすべてのファイル・システム・プロバイダの検索とロードが行われます。 インストールされているプロバイダのロードには、ServiceLoaderクラスで定義されているサービス・プロバイダのロード機能が使用されます。 インストールされているプロバイダのロードにはシステム・クラス・ローダーが使用されます。 システム・クラス・ローダーが見つからない場合は、プラットフォーム・クラス・ローダーが使用されます。 通常、プロバイダはアプリケーション・クラス・パスのJARファイルに配置し、JARファイルにはリソース・ディレクトリMETA-INF/servicesjava.nio.file.spi.FileSystemProviderという名前のプロバイダ構成ファイルが含まれ、このファイルには、引数コンストラクタがゼロのFileSystemProviderの具象サブクラスの1つ以上の完全修飾名がリストされます。 インストールされているプロバイダの検索順序は実装によって異なります。 プロバイダがインスタンス化され、そのgetSchemeによって、以前インスタンス化されたプロバイダと同じURIスキームのプロバイダが返される場合は、最後にインスタンス化された重複するプロバイダが破棄されます。 URIスキームは大文字小文字に関係なく比較されます。 構築中、プロバイダはデフォルト・プロバイダに関連付けられたファイルに安全にアクセスできますが、インストールされたほかのプロバイダの循環ロードを避けるために注意が必要です。 インストールされたプロバイダの循環ロードが検出された場合は、未指定のエラーがスローされます。

このクラスでは、プロバイダの検索時にClassLoaderを指定できるようにするファクトリ・メソッドも定義します。 インストールされているプロバイダと同様に、プロバイダ・クラスも、プロバイダ構成ファイルをリソース・ディレクトリMETA-INF/services内に配置することで識別されます。

あるスレッドがインストールされているファイル・システム・プロバイダのロードを開始しているときに、別のスレッドが同様にそれらのプロバイダのロードを試みるメソッドを呼び出した場合、最初のロードが完了するまでそのメソッドはブロックされます。

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