パッケージjava.nio.file
java.nio.fileパッケージは、ファイルおよびファイル・システムにアクセスするためのクラスを定義します。 ファイル属性やファイル・システム属性にアクセスするためのAPIは、java.nio.file.attribute
パッケージに定義されています。 java.nio.file.spi
パッケージは、プラットフォームのデフォルト・プロバイダを拡張したり、他のプロバイダ実装を構築したりするサービス・プロバイダの実装者によって使用されます。
シンボリック・リンク
多くのオペレーティング・システムおよびファイル・システムは、「シンボリック・リンク」をサポートしています。 シンボリック・リンクとは、別のファイルへの参照として機能する特殊ファイルです。 ほとんどの場合、アプリケーションではシンボリック・リンクを意識する必要はなく、シンボリック・リンクに対する操作はそのリンクのターゲットに自動的にリダイレクトされます。 ただし、シンボリック・リンクを削除したり、名前変更または移動したりする場合は例外で、その場合はそのリンクのターゲットではなく、そのリンクが削除または除去されます。 このパッケージには、実装でこれらのセマンティックスを実現するシンボリック・リンクのサポートが含まれています。 ファイル・システムでは意味的に似通った他の種類のリンクをサポートしていることがありますが、それらのリンクのサポートはこのパッケージには含まれていません。
Interoperability
File
クラスでは、java.io.File
オブジェクトで表される抽象パスを変換することによってPath
を構築するtoPath
メソッドを定義します。 結果のPath
を使用すると、File
オブジェクトと同じファイルを操作できます。 Path
の仕様には、Path
とjava.io.File
オブジェクトとの相互運用性に関する詳細情報が記載されています。
可視性
このパッケージ内のクラスによって提供されるファイルやファイル・システムのビューは、同じJava仮想マシン内の他のインスタンスによって提供される他のビューと矛盾しないことが保証されています。 しかし、ベースとなるオペレーティング・システムのキャッシュ処理や、ネットワーク・ファイル・システム・プロトコルによる遅延が原因で、そのビューと、並行して実行されているプログラムで認識されるファイル・システムのビューが矛盾する可能性がないわけではありません。 この問題は、これらのプログラムを記述している言語の違いや、これらが同一マシンで実行されているかどうかとは関係なく発生します。 このような不整合の正確な性質はシステムに依存するため、不特定です。
同期入出力ファイル整合性
SYNC
およびDSYNC
オプションは、ファイルへの更新が基礎となるストレージ・デバイスにも同時に書き込まれる必要があるファイルを開く場合に使用されます。 デフォルト・プロバイダの場合で、ファイルがローカル・ストレージ・デバイスに格納されていて、シーク可能な
チャネルがこれらのオプションのいずれかを使用して開いたファイルに接続されている場合、write
メソッドの呼出しは、その呼出しによってファイルに加えられたすべての変更がそのデバイスにも書き込まれた場合にのみ返します。 これらのオプションは、万一システム・クラッシュが発生した場合に重要な情報が失われることがないようにするのに役立ちます。 一方、ファイルがローカルの記憶装置上にない場合、書込みは行われません。 この保証が他のプロバイダ
実装でも適用可能かどうかはプロバイダに固有のものです。
一般的な例外
特に指定がないかぎり、このパッケージ内のクラスまたはインタフェースのメソッドやコンストラクタにnull
引数を渡すと、NullPointerException
がスローされます。 さらに、null
要素を含む配列またはコレクションを持つメソッドを呼び出すと、特に指定がない限り、NullPointerException
が発生します。
特に指定がないかぎり、ファイル・システムへのアクセスを試みるメソッドは、クローズ
されているFileSystem
に関連付けられたオブジェクトに対して呼び出されると、ClosedFileSystemException
をスローします。 また、ファイル・システムへの書込みアクセスを試みるメソッドはすべて、読取り専用アクセスのみを提供するFileSystem
に関連付けられたオブジェクトに対して呼び出されると、ReadOnlyFileSystemException
をスローします。
特に指定がないかぎり、このパッケージ内のクラスまたはインタフェースのメソッドのうち、あるプロバイダ
によって別のプロバイダが作成したオブジェクトを示すパラメータで作成されたものを呼び出すと、ProviderMismatchException
がスローされます。
オプションの固有例外
このパッケージ内のクラスで定義されている、ファイル・システムにアクセスするメソッドのほとんどは、入出力エラーが発生した場合にIOException
がスローされるように指定します。 場合によっては、これらのメソッドが特定の入出力例外を一般的なケース用に定義することがあります。 これらの例外(オプションの固有例外として知られている)は、実装が特定のエラーを検出できた場合にそれによってスローされます。 特定のエラーを検出できない場合は、より一般的な IOException
がスローされます。 - 導入されたバージョン:
- 1.7
-
クラス説明通常はファイル・アクセス権またはその他のアクセス・チェックのために、ファイル・システム操作が拒否されたときにスローされるチェック例外です。ファイルのアクセシビリティのテストに使用されるアクセス・モードを定義します。原子的なファイル・システム操作としてファイルを移動できない場合にスローされるチェック例外です。閉じられたディレクトリ・ストリームに対する操作を呼び出そうとしたときにスローされる非チェック例外です。閉じられたファイルやファイル・システムに対する操作を呼び出そうとしたときにスローされる非チェック例外です。閉じられた監視サービスに対する操作を呼び出そうとしたときにスローされる非チェック例外です。ファイルのコピーまたは移動する方法を構成するオブジェクトです。ディレクトリ内のエントリに対する反復処理を行っているときに入出力エラーが検出された場合にスローされる実行時例外です。ディレクトリが空でないためにファイル・システム操作が失敗した場合にスローされるチェック例外です。ディレクトリ内のエントリに対して反復処理を行うためのオブジェクトです。ディレクトリ・エントリを受け入れるべきかフィルタするべきかを判断するオブジェクトによって実装されるインタフェースです。ファイルまたはディレクトリの作成を試みたときにその名前のファイルがすでに存在している場合にスローされるチェック例外です。このクラスは、ファイル、ディレクトリ、またはその他の種類のファイルを操作するstaticメソッドだけで構成されます。ファイル用のストレージです。ファイル・システムへのインタフェースを提供し、ファイル・システム内のファイルやその他のオブジェクトにアクセスするためのオブジェクトのファクトリです。すでに存在するファイル・システムを作成しようとしたときにスローされる実行時例外です。1つまたは2つのファイルでファイル・システム操作が失敗した場合にスローされます。ファイル・システムのループ、すなわちサイクルが検出された場合にスローされるチェック例外です。ファイル・システムが見つからない場合にスローされる実行時例外です。ファイル・システム用のファクトリ・メソッドです。ファイル・ツリー・トラバーサル・オプションを定義します。FileVisitor<T>ファイルのビジターです。
FileVisitor
の結果型です。パス文字列に無効な文字が含まれているか、その他のファイル・システム固有の理由でパス文字列が無効であるために、パス文字列をPath
に変換できない場合にスローされる非チェック例外です。シンボリック・リンクの処理方法を定義します。リンク作成操作のためのPermission
クラスです。存在しないファイルへのアクセスを試みた場合にスローされるチェック例外です。ファイルがディレクトリでないために、ディレクトリを対象にしたファイル・システム操作が失敗した場合にスローされるチェック例外です。ファイルがシンボリック・リンクでないためにファイル・システム操作が失敗した場合にスローされるチェック例外です。ファイルを開くまたは作成する方法を構成するオブジェクトです。ファイル・システム内のファイルを特定するために使用可能なオブジェクトです。パスの照合操作を実行するオブジェクトによって実装されるインタフェースです。あるファイル・システム・プロバイダで作成されたオブジェクト上で、別のファイル・システム・プロバイダで作成されたパラメータを指定してメソッドを呼び出そうとした場合にスローされる非チェック例外です。必要な型のプロバイダが見つからない場合にスローされる実行時例外です。read-only
のFileSystem
に関連付けられているオブジェクトを更新しようとしたときにスローされる非チェック例外です。開いたディレクトリから相対的な位置にあるファイルに対する操作を定義するDirectoryStream
です。すべてのファイルをビジットして入出力エラーを再度スローするというデフォルトの動作を持つ、簡単なファイル・ビジターです。標準コピー・オプションを定義します。標準オープン・オプションを定義します。標準イベントの種類を定義します。変更およびイベントを監視できるように、監視サービスに登録できるオブジェクトです。WatchEvent<T>WatchService
に登録されたオブジェクトに対するイベントまたは繰り返されるイベントです。イベントの種類(識別目的)です。Watchable
がWatchService
にどのように登録されるかを修飾するイベント修飾子です。watchable
オブジェクトがWatchService
に登録されていることを示すトークンです。登録されたオブジェクトの変更およびイベントを監視する監視サービスです。