モジュール java.base

パッケージjava.nio.file


パッケージjava.nio.file
ファイル、ファイル属性、およびファイル・システムにアクセスするためのJava仮想マシン用のインタフェースとクラスを定義します。

java.nio.fileパッケージは、ファイルおよびファイル・システムにアクセスするためのクラスを定義します。 ファイル属性やファイル・システム属性にアクセスするためのAPIは、java.nio.file.attributeパッケージに定義されています。 java.nio.file.spiパッケージは、プラットフォームのデフォルト・プロバイダを拡張したり、他のプロバイダ実装を構築したりするサービス・プロバイダの実装者によって使用されます。

シンボリック・リンク

多くのオペレーティング・システムおよびファイル・システムは、「シンボリック・リンク」をサポートしています。 シンボリック・リンクとは、別のファイルへの参照として機能する特殊ファイルです。 ほとんどの場合、アプリケーションではシンボリック・リンクを意識する必要はなく、シンボリック・リンクに対する操作はそのリンクのターゲットに自動的にリダイレクトされます。 ただし、シンボリック・リンクを削除したり、名前変更または移動したりする場合は例外で、その場合はそのリンクのターゲットではなく、そのリンクが削除または除去されます。 このパッケージには、実装でこれらのセマンティックスを実現するシンボリック・リンクのサポートが含まれています。 ファイル・システムでは意味的に似通った他の種類のリンクをサポートしていることがありますが、それらのリンクのサポートはこのパッケージには含まれていません。

Interoperability

Fileクラスでは、java.io.Fileオブジェクトで表される抽象パスを変換することによってPathを構築するtoPathメソッドを定義します。 結果のPathを使用すると、Fileオブジェクトと同じファイルを操作できます。 Pathの仕様には、Pathjava.io.Fileオブジェクトとの相互運用性に関する詳細情報が記載されています。

可視性

このパッケージ内のクラスによって提供されるファイルやファイル・システムのビューは、同じJava仮想マシン内の他のインスタンスによって提供される他のビューと矛盾しないことが保証されています。 しかし、ベースとなるオペレーティング・システムのキャッシュ処理や、ネットワーク・ファイル・システム・プロトコルによる遅延が原因で、そのビューと、並行して実行されているプログラムで認識されるファイル・システムのビューが矛盾する可能性がないわけではありません。 この問題は、これらのプログラムを記述している言語の違いや、これらが同一マシンで実行されているかどうかとは関係なく発生します。 このような不整合の正確な性質はシステムに依存するため、不特定です。

同期入出力ファイル整合性

SYNCおよびDSYNCオプションは、ファイルへの更新が基礎となるストレージ・デバイスにも同時に書き込まれる必要があるファイルを開く場合に使用されます。 デフォルト・プロバイダの場合で、ファイルがローカル・ストレージ・デバイスに格納されていて、シーク可能なチャネルがこれらのオプションのいずれかを使用して開いたファイルに接続されている場合、writeメソッドの呼出しは、その呼出しによってファイルに加えられたすべての変更がそのデバイスにも書き込まれた場合にのみ返します。 これらのオプションは、万一システム・クラッシュが発生した場合に重要な情報が失われることがないようにするのに役立ちます。 一方、ファイルがローカルの記憶装置上にない場合、書込みは行われません。 この保証が他のプロバイダ実装でも適用可能かどうかはプロバイダに固有のものです。

一般的な例外

特に指定がないかぎり、このパッケージ内のクラスまたはインタフェースのメソッドやコンストラクタにnull引数を渡すと、NullPointerExceptionがスローされます。 さらに、null要素を含む配列またはコレクションを含むメソッドを呼び出すと、特に指定されていないかぎり、NullPointerExceptionが発生します。

特に指定がないかぎり、ファイル・システムへのアクセスを試みるメソッドは、クローズされているFileSystemに関連付けられたオブジェクトに対して呼び出されると、ClosedFileSystemExceptionをスローします。 また、ファイル・システムへの書込みアクセスを試みるメソッドはすべて、読取り専用アクセスのみを提供するFileSystemに関連付けられたオブジェクトに対して呼び出されると、ReadOnlyFileSystemExceptionをスローします。

特に指定がないかぎり、このパッケージ内のクラスまたはインタフェースのメソッドのうち、あるプロバイダによって別のプロバイダが作成したオブジェクトを示すパラメータで作成されたものを呼び出すと、ProviderMismatchExceptionがスローされます。

オプションの固有例外

このパッケージ内のクラスで定義されている、ファイル・システムにアクセスするメソッドのほとんどは、入出力エラーが発生した場合にIOExceptionがスローされるように指定します。 場合によっては、これらのメソッドが特定の入出力例外を一般的なケース用に定義することがあります。 これらの例外(オプションの固有例外として知られている)は、実装が特定のエラーを検出できた場合にそれによってスローされます。 特定のエラーを検出できない場合は、より一般的な IOExceptionがスローされます。
導入されたバージョン:
1.7
  • クラス
    説明
    通常はファイル・アクセス権またはその他のアクセス・チェックのために、ファイル・システム操作が拒否されたときにスローされるチェック例外です。
    ファイルのアクセシビリティのテストに使用されるアクセス・モードを定義します。
    原子的なファイル・システム操作としてファイルを移動できない場合にスローされるチェック例外です。
    閉じられたディレクトリ・ストリームに対する操作を呼び出そうとしたときにスローされる非チェック例外です。
    閉じられたファイルやファイル・システムに対する操作を呼び出そうとしたときにスローされる非チェック例外です。
    閉じられた監視サービスに対する操作を呼び出そうとしたときにスローされる非チェック例外です。
    ファイルのコピーまたは移動する方法を構成するオブジェクトです。
    ディレクトリ内のエントリに対する反復処理を行っているときに入出力エラーが検出された場合にスローされる実行時例外です。
    ディレクトリが空でないためにファイル・システム操作が失敗した場合にスローされるチェック例外です。
    ディレクトリ内のエントリに対して反復処理を行うためのオブジェクトです。
    ディレクトリ・エントリを受け入れるべきかフィルタするべきかを判断するオブジェクトによって実装されるインタフェースです。
    ファイルまたはディレクトリの作成を試みたときにその名前のファイルがすでに存在している場合にスローされるチェック例外です。
    このクラスは、ファイル、ディレクトリ、またはその他の種類のファイルを操作するstaticメソッドだけで構成されます。
    ファイル用のストレージです。
    ファイル・システムへのインタフェースを提供し、ファイル・システム内のファイルやその他のオブジェクトにアクセスするためのオブジェクトのファクトリです。
    すでに存在するファイル・システムを作成しようとしたときにスローされる実行時例外です。
    1つまたは2つのファイルでファイル・システム操作が失敗した場合にスローされます。
    ファイル・システムのループ、すなわちサイクルが検出された場合にスローされるチェック例外です。
    ファイル・システムが見つからない場合にスローされる実行時例外です。
    ファイル・システム用のファクトリ・メソッドです。
    ファイル・ツリー・トラバーサル・オプションを定義します。
    ファイルのビジターです。
    FileVisitorの結果型です。
    パス文字列に無効な文字が含まれているか、その他のファイル・システム固有の理由でパス文字列が無効であるために、パス文字列をPathに変換できない場合にスローされる非チェック例外です。
    シンボリック・リンクの処理方法を定義します。
    リンク作成操作のためのPermissionクラスです。
    存在しないファイルへのアクセスを試みた場合にスローされるチェック例外です。
    ファイルがディレクトリでないために、ディレクトリを対象にしたファイル・システム操作が失敗した場合にスローされるチェック例外です。
    ファイルがシンボリック・リンクでないためにファイル・システム操作が失敗した場合にスローされるチェック例外です。
    ファイルを開くまたは作成する方法を構成するオブジェクトです。
    ファイル・システム内のファイルを特定するために使用可能なオブジェクトです。
    パスの照合操作を実行するオブジェクトによって実装されるインタフェースです。
    このクラスは、パス文字列またはURIを変換することによってPathを返すstaticメソッドのみで構成されます。
    あるファイル・システム・プロバイダで作成されたオブジェクト上で、別のファイル・システム・プロバイダで作成されたパラメータを指定してメソッドを呼び出そうとした場合にスローされる非チェック例外です。
    必要な型のプロバイダが見つからない場合にスローされる実行時例外です。
    read-onlyFileSystemに関連付けられているオブジェクトを更新しようとしたときにスローされる非チェック例外です。
    開いたディレクトリから相対的な位置にあるファイルに対する操作を定義するDirectoryStreamです。
    すべてのファイルをビジットして入出力エラーを再度スローするというデフォルトの動作を持つ、簡単なファイル・ビジターです。
    標準コピー・オプションを定義します。
    標準オープン・オプションを定義します。
    標準イベントの種類を定義します。
    変更およびイベントを監視できるように、監視サービスに登録できるオブジェクトです。
    WatchServiceに登録されたオブジェクトに対するイベントまたは繰り返されるイベントです。
    イベントの種類(識別目的)です。
    WatchableWatchServiceにどのように登録されるかを修飾するイベント修飾子です。
    watchableオブジェクトがWatchServiceに登録されていることを示すトークンです。
    登録されたオブジェクトの変更およびイベントを監視する監視サービスです。