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

インタフェースPath

すべてのスーパー・インタフェース:
Comparable<Path>, Iterable<Path>, Watchable

public interface Path extends Comparable<Path>, Iterable<Path>, Watchable
ファイル・システム内のファイルを特定するために使用可能なオブジェクトです。 通常、それはシステムに依存するファイル・パスを表します。

Pathは、特別な区切り文字で区切られた一連のディレクトリ名およびファイル名の要素で構成される階層構造のパスを表します。 ルート・コンポーネント (ファイル・システム階層を識別するもの)が存在する場合もあります。 ディレクトリ階層のルートからもっとも遠い名前要素は、ファイルまたはディレクトリの名前です。 その他の名前要素はディレクトリ名です。 Pathは、ルート、ルートと一連の名前、または単に1つまたは複数の名前要素のみを表すことができます。 Pathは、1つの空の名前要素のみで構成される場合は空のパスとみなされます。 空のパスを使用してファイルにアクセスすることは、ファイル・システムのデフォルト・ディレクトリにアクセスすることと同じです。 Pathは、パス・コンポーネントまたはその名前要素のサブシーケンスにアクセスするためのgetFileNamegetParentgetRoot、およびsubpathメソッドを定義します。

Pathは、パス・コンポーネントにアクセスするほかに、パスを結合するためのresolveおよびresolveSiblingメソッドも定義します。 relativizeメソッドを使用すると、2つのパス間の相対パスを構築できます。 startsWithおよびendsWithメソッドを使用してパスを相互に比較したり、テストしたりできます。

このインタフェースは、Watchableインタフェースを拡張して、パスで検索されるディレクトリをWatchServiceと監視されるディレクトリ内のエントリに登録できます。

警告: このインタフェースは、カスタム・ファイル・システムの実装を開発する人によって実装されることのみを目的としています。 将来のリリースでは、このインタフェースにメソッドが追加される可能性があります。

ファイルへのアクセス

FilesクラスでPathを使用することで、ファイル、ディレクトリ、およびその他の種類のファイルを操作できます。 たとえば、BufferedReaderでファイル「access.log」からテキストを読み取るとします。 ファイルは、現在の作業ディレクトリからの相対ディレクトリ「logs」にあり、UTF-8形式でエンコードされています。

    Path path = FileSystems.getDefault().getPath("logs", "access.log");
    BufferedReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8);

相互運用性

デフォルト・プロバイダに関連付けられたPathは通常、java.io.Fileクラスと相互運用可能です。 ほかのプロバイダによって作成されたPathは、java.io.Fileで表される抽象パス名と相互運用可能であることはまれです。 toPathメソッドを使用すると、java.io.Fileオブジェクトで表される抽象パス名からPathを取得できます。 結果のPathを使用すると、java.io.Fileオブジェクトと同じファイルを操作できます。 さらに、toFileメソッドは、PathString表現から Fileを構築するのに役立ちます。

同時実行性

このインタフェースの実装は不変であり、複数の並行スレッドで安全に使用できます。

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