public interface Path extends Comparable<Path>, Iterable<Path>, Watchable
Pathは、特別な区切り文字で区切られた一連のディレクトリ名およびファイル名の要素で構成される階層構造のパスを表します。 ルート・コンポーネント (ファイル・システム階層を識別するもの)が存在する場合もあります。 ディレクトリ階層のルートからもっとも遠い名前要素は、ファイルまたはディレクトリの名前です。 その他の名前要素はディレクトリ名です。 Pathは、ルート、ルートと一連の名前、または単に1つまたは複数の名前要素のみを表すことができます。 Pathは、1つの空の名前要素のみで構成される場合は空のパスとみなされます。 空のパスを使用してファイルにアクセスすることは、ファイル・システムのデフォルト・ディレクトリにアクセスすることと同じです。 Pathは、パス・コンポーネントまたはその名前要素のサブシーケンスにアクセスするためのgetFileName、getParent、getRoot、および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メソッドは、PathのString表現からFileを構築するのに役立ちます。
このインタフェースの実装は不変であり、複数の並行スレッドで安全に使用できます。
Paths| 修飾子と型 | メソッド | 説明 |
|---|---|---|
int |
compareTo(Path other) |
2つの抽象パスを語彙的に比較します。
|
boolean |
endsWith(Path other) |
このパスが、指定されたパスで終わるかどうかをテストします。
|
boolean |
endsWith(String other) |
このパスが、
endsWith(Path)メソッドで指定されたとおりの方法で指定のパス文字列を変換することで構築される、Pathで終わるかどうかをテストします。 |
boolean |
equals(Object other) |
このパスが指定されたオブジェクトと等しいかどうかをテストします。
|
Path |
getFileName() |
このパスが示すファイルまたはディレクトリの名前を
Pathオブジェクトとして返します。 |
FileSystem |
getFileSystem() |
このオブジェクトを作成したファイル・システムを返します。
|
Path |
getName(int index) |
このパスの名前要素を
Pathオブジェクトとして返します。 |
int |
getNameCount() |
パス内の名前要素の数を返します。
|
Path |
getParent() |
親のパスを返します。このパスが親を持たない場合は
nullを返します。 |
Path |
getRoot() |
このパスのルート・コンポーネントを
Pathオブジェクトとして返します。このパスがルート・コンポーネントを持たない場合はnullを返します。 |
int |
hashCode() |
このパスのハッシュ・コードを計算します。
|
boolean |
isAbsolute() |
このパスが絶対かどうかを通知します。
|
Iterator<Path> |
iterator() |
このパスの名前要素を処理するイテレータを返します。
|
Path |
normalize() |
このパスから冗長な名前要素を削除したパスを返します。
|
WatchKey |
register(WatchService watcher, WatchEvent.Kind<?>... events) |
このパスで検出されたファイルを監視サービスに登録します。
|
WatchKey |
register(WatchService watcher, WatchEvent.Kind<?>[] events, WatchEvent.Modifier... modifiers) |
このパスで検出されたファイルを監視サービスに登録します。
|
Path |
relativize(Path other) |
このパスと指定されたパスとの間の相対パスを構築します。
|
Path |
resolve(Path other) |
指定されたパスをこのパスに対して解決します。
|
Path |
resolve(String other) |
指定されたパス文字列を
Pathに変換してから、resolveメソッドで指定されたとおりの方法で、このPathに対して解決します。 |
Path |
resolveSibling(Path other) |
指定されたパスをこのパスの
親パスに対して解決します。 |
Path |
resolveSibling(String other) |
指定されたパス文字列を
Pathに変換してから、resolveSiblingメソッドで指定されたとおりの方法で、このパスの親パスに対して解決します。 |
boolean |
startsWith(Path other) |
このパスが、指定されたパスで始まるかどうかをテストします。
|
boolean |
startsWith(String other) |
このパスが、
startsWith(Path)メソッドで指定されたとおりの方法で指定のパス文字列を変換することで構築される、Pathで始まるかどうかをテストします。 |
Path |
subpath(int beginIndex, int endIndex) |
このパスの名前要素のサブシーケンスである相対
Pathを返します。 |
Path |
toAbsolutePath() |
このパスの絶対パスを表す
Pathオブジェクトを返します。 |
File |
toFile() |
このパスを表す
Fileオブジェクトを返します。 |
Path |
toRealPath(LinkOption... options) |
既存のファイルの実際のパスを返します。
|
String |
toString() |
このパスの文字列表現を返します。
|
URI |
toUri() |
このパスを表すURIを返します。
|
forEach, spliteratorFileSystem getFileSystem()
boolean isAbsolute()
絶対パスは完全であり、ファイルを見つけるためにほかのパス情報と組み合わせる必要はありません。
truePath getRoot()
Pathオブジェクトとして返します。このパスがルート・コンポーネントを持たない場合はnullを返します。nullPath getFileName()
Pathオブジェクトとして返します。 このファイル名は、ディレクトリ階層のルートからもっとも遠い要素です。 nullPath getParent()
nullを返します。
このパス・オブジェクトの親は、このパスのルート・コンポーネント(存在する場合)とパス内の各要素(ディレクトリ階層のルートからもっとも遠い要素を除く)で構成されます。 このメソッドはファイル・システムにアクセスしません。つまり、パスまたはその親が存在しない可能性があります。 さらに、このメソッドでは一部の実装で使用できる「.」や「..」などの特殊な名前を削除しません。 たとえば、UNIXでは、「/a/b/c」の親は「/a/b」であり、「x/y/.」の親は「x/y」です。 このメソッドをnormalizeメソッドとともに使用すると、シェルのようなナビゲーションが必要な場合に、冗長な名前を削除できます。
このパスに1つまたは複数の要素が含まれるが、ルート・コンポーネントがない場合、このメソッドは次の式の評価と同等になります。
subpath(0, getNameCount()-1);
int getNameCount()
0Path getName(int index)
Pathオブジェクトとして返します。
indexパラメータは、返される名前要素のインデックスです。 ディレクトリ階層のルートにもっとも近い要素のインデックスは0になります。 そのルートからもっとも遠い要素のインデックスは、要素数 -1になります。
index - 要素のインデックスIllegalArgumentException - indexが負の値である場合、indexが要素数と等しいか、それよりも大きい場合、またはこのパスに名前要素が含まれていない場合Path subpath(int beginIndex, int endIndex)
Pathを返します。
beginIndexおよびendIndexパラメータは、名前要素のサブシーケンスを指定します。 ディレクトリ階層のルートにもっとも近い名前のインデックスは0になります。 そのルートからもっとも遠い名前のインデックスは、要素数 -1になります。 返されるPathオブジェクトには、beginIndexから始まり、インデックスendIndex-1の要素にまで及ぶ名前要素が含まれます。
beginIndex - 最初の要素のインデックス(これを含む)endIndex - 最後の要素のインデックス(これを含まない)Pathの名前要素のサブシーケンスである新しいPathオブジェクトIllegalArgumentException - beginIndexが負の値である場合、またはそれが要素数に等しいか、それよりも大きい場合。 endIndexがbeginIndexに等しいか、それよりも小さい場合、またはそれが要素数よりも大きい場合。 boolean startsWith(Path other)
このパスのルート・コンポーネントが指定されたパスのルート・コンポーネントで始まり、かつこのパスが指定されたパスと同じ名前要素で始まる場合、このパスは指定されたパスで始まります。 指定されたパスにこのパスよりも多くの名前要素が含まれている場合は、falseが返されます。
このパスのルート・コンポーネントが指定されたパスのルート・コンポーネントで始まるかどうかは、ファイル・システムに固有です。 このパスにルート・コンポーネントが含まれておらず、指定されたパスにルート・コンポーネントが含まれている場合、このパスは指定されたパスで始まりません。
指定されたパスがこのパスとは異なるFileSystemに関連付けられている場合、falseが返されます。
other - 指定されたパスtrueこのパスが、指定されたパスで始まる場合true、そうでない場合falseboolean startsWith(String other)
startsWith(Path)メソッドで指定されたとおりの方法で指定のパス文字列を変換することで構築される、Pathで始まるかどうかをテストします。 たとえば、UNIXでは、パス「foo/bar」は「foo」および「foo/bar」で始まります。 それは「f」または「fo」では始まりません。 other - 指定されたパス文字列true、それ以外の場合はfalseInvalidPathException - パス文字列をPathに変換できない場合。boolean endsWith(Path other)
指定されたパスにはN個の要素が含まれていて、ルート・コンポーネントがなく、このパスにはN個以上の要素が含まれている場合、ルートからもっとも遠い要素で始まる、各パスの最後のN個の要素が等しければ、このパスは指定されたパスで終わります。
指定されたパスにルート・コンポーネントがある場合、このパスのルート・コンポーネントが指定されたパスのルート・コンポーネントで終わり、両方のパスの対応する要素が等しければ、このパスは指定されたパスで終わります。 このパスのルート・コンポーネントが指定されたパスのルート・コンポーネントで終わるかどうかは、ファイル・システムに固有です。 このパスにルート・コンポーネントが含まれず、指定されたパスにルート・コンポーネントが含まれている場合、このパスは指定されたパスで終わりません。
指定されたパスがこのパスとは異なるFileSystemに関連付けられている場合、falseが返されます。
other - 指定されたパスtrue、それ以外の場合はfalseboolean endsWith(String other)
endsWith(Path)メソッドで指定されたとおりの方法で指定のパス文字列を変換することで構築される、Pathで終わるかどうかをテストします。 たとえば、UNIXでは、パス「foo/bar」は「foo/bar」および「bar」で終わります。 それは「r」または「/bar」では終わりません。 末尾の区切り文字は考慮されないため、このメソッドをPath"foo/bar"に対してString "bar/"で呼び出すと、trueが返されます。 other - 指定されたパス文字列true、それ以外の場合はfalseInvalidPathException - パス文字列をPathに変換できない場合。Path normalize()
このメソッドの正確な定義は実装に依存しますが、通常、それはこのパス(冗長な名前要素を含まないパス)から派生しています。 多くのファイル・システムでは、「.」および「..」は現在のディレクトリおよび親ディレクトリを示すために使われる特殊な名前です。 そのようなファイル・システムでは、「.」のオカレンスはすべて冗長とみなされます。 「..」の直前に「..」以外の名前が存在する場合、その両方の名前が冗長とみなされます(そのような名前を識別するプロセスが該当しなくなるまで繰り返される)。
このメソッドはファイル・システムにアクセスしません。つまり、そのパスは存在しているファイルを検出しない可能性があります。 「..」とそれに先行する名前をパスから削除すると、元のパスとは異なるファイルを検出するパスが生じる可能性があります。 これは、先行する名前がシンボリック・リンクの場合に発生することがあります。
getParent(), toRealPath(java.nio.file.LinkOption...)Path resolve(Path other)
otherパラメータが絶対パスである場合、このメソッドは普通にotherを返します。 otherが空のパスである場合、このメソッドは普通にこのパスを返します。 それ以外の場合、このメソッドはこのパスをディレクトリとみなし、指定されたパスをこのパスに対して解決します。 もっとも単純なのは、指定されたパスにルート・コンポーネントがない場合です。その場合、このメソッドは指定されたパスをこのパスに結合し、指定されたパスで終わるパスを結果として返します。 指定されたパスにルート・コンポーネントがある場合、解決は実装に大きく依存するため、未指定です。
other - このパスに対して解決するパスrelativize(java.nio.file.Path)Path resolve(String other)
Pathに変換してから、resolveメソッドで指定されたとおりの方法で、このPathに対して解決します。 たとえば、名前区切り文字が「/」で、パスが「foo/bar」を表すとします。このメソッドをパス文字列「gus」で呼び出すと、結果はPath "foo/bar/gus"となります。 other - このパスに対して解決するパス文字列InvalidPathException - パス文字列をPathに変換できない場合。FileSystem.getPath(java.lang.String, java.lang.String...)Path resolveSibling(Path other)
親パスに対して解決します。 これは、ファイル名を別のファイル名に置き換える必要がある場合に役立ちます。 たとえば、名前区切り文字が「/」で、パスが「dir1/dir2/foo」を表すとします。このメソッドをPath "bar"で呼び出すと、結果はPath "dir1/dir2/bar"となります。 このパスに親パスが含まれていない場合、またはotherが絶対パスである場合、このメソッドはotherを返します。 otherが空のパスである場合、このメソッドはこのパスの親を返し、このパスに親がない場合は、空のパスを返します。 other - このパスの親に対して解決するパスresolve(Path)Path resolveSibling(String other)
Pathに変換してから、resolveSiblingメソッドで指定されたとおりの方法で、このパスの親パスに対して解決します。other - このパスの親に対して解決するパス文字列InvalidPathException - パス文字列をPathに変換できない場合。FileSystem.getPath(java.lang.String, java.lang.String...)Path relativize(Path other)
相対化は、解決の逆です。 このメソッドは、このパスに対して解決すると指定されたパスと同じファイルを検出するパスを生成する、相対パスを構築しようとします。 たとえば、UNIXでは、このパスが"/a/b"で、指定されたパスが"/a/b/c/d"である場合、結果となる相対パスは"c/d"になります。 このパスと指定されたパスにルート・コンポーネントがない場合は、相対パスを構築できます。 それらのパスのどちらか一方だけにルート・コンポーネントがある場合は、相対パスを構築できません。 両方のパスにルート・コンポーネントがある場合、相対パスを構築できるかどうかは実装に依存します。 このパスと指定されたパスが等しい場合は、空のパスが返されます。
2つの正規化されたパスpとqについて(ここでのqにはルート・コンポーネントがありません)、次が成り立ちます。
p.relativize(p.resolve(q)).equals(q)
シンボリック・リンクがサポートされている場合、このパスに対して解決すると、結果となるパスが、otherと同じファイルの検出に使用できるパスを生成するかどうかは実装に依存します。 たとえば、このパスが"/a/b"で、指定されたパスが"/a/x"である場合、結果となる相対パスは"../x"になります。 "b"がシンボリック・リンクの場合、"a/b/../x"が"/a/x"と同じファイルを検出するかどうかは実装に依存します。
other - このパスに対して相対化するパスIllegalArgumentException - otherがこのパスに対して相対化できるPathでない場合URI toUri()
このメソッドは、プロバイダを識別するURIスキームに等しいスキームを使用して、絶対URIを構築します。 スキーム固有の部分の正確な形式はプロバイダに大きく依存します。
デフォルト・プロバイダの場合、URIは絶対であるパス・コンポーネントを含む階層URIです。 クエリーおよびフラグメント・コンポーネントは未定義です。 機関コンポーネントが定義されているかどうかは、実装に依存します。 URIがjava.io.Fileの構築に使用できるという保証はありません。 特に、このパスが汎用命名規則(UNC)パスを表す場合は、UNCサーバー名を結果となるURIの機関コンポーネントでエンコードできます。 デフォルト・プロバイダで、ファイルが存在し、そのファイルがディレクトリであると判定できる場合、結果となるURIはスラッシュで終わります。
デフォルト・プロバイダは同様のラウンド・トリップの保証をFileクラスに提供します。 Path pが指定された場合は、次が保証されます。
この例の場合、元のPaths.get(p.toUri()).equals(p .toAbsolutePath())
Path、URI、および新しいPathは、同じJava仮想マシンの複数の呼出しで作成する必要があります。 ほかのプロバイダが保証を行うかどうかはプロバイダによって異なるため、未指定です。
ファイルの内容にファイル・システムとしてアクセスするためのファイル・システムが構築される場合、返されるURIがそのファイル・システム内の指定されたパスを表すか、または包含するファイル・システムのURIをエンコードする複合 URIを表すかは、実装によって大きく異なります。 このリリースでは、複合URIの形式は定義されていません。そのようなスキームは、将来のリリースで追加される可能性があります。
IOError - 絶対パスの取得中に入出力エラーが発生した場合、またはファイルの内容にファイル・システムとしてアクセスするためのファイル・システムが構築され、包含するファイル・システムのURIを取得できない場合SecurityException - デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、そのtoAbsolutePathメソッドがセキュリティ例外をスローする場合。Path toAbsolutePath()
Pathオブジェクトを返します。
このパスがすでに絶対である場合、このメソッドは単にこのパスを返すだけです。 それ以外の場合、このメソッドはそのパスを実装に依存した方法で(通常はそのパスをファイル・システムのデフォルト・ディレクトリに対して解決することによって)解決します。 実装によっては、このメソッドはファイル・システムにアクセスできない場合に入出力エラーをスローすることがあります。
PathオブジェクトIOError - 入出力エラーが発生した場合SecurityException - デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、このパスが絶対でない場合、セキュリティ・マネージャのcheckPropertyAccessメソッドが呼び出されてシステム・プロパティuser.dirへのアクセスがチェックされるPath toRealPath(LinkOption... options) throws IOException
このメソッドの正確な定義は実装に依存しますが、通常、それはこのパス(このパスと同じファイルを検出するが、ディレクトリおよびファイルの実際の名前を表す名前要素を含む絶対パス)から派生しています。 たとえば、ファイル・システムに対するファイル名の比較で大文字と小文字が区別されない場合、名前要素は大文字と小文字の違いを実際に合わせて名前を表します。 また、結果となるパスからは冗長な名前要素が削除されています。
このパスが相対である場合は、toAbsolutePathメソッドを呼び出した場合と同様に、最初にその絶対パスが取得されます。
options配列を使用すると、シンボリック・リンクの処理方法を指定できます。 デフォルトでは、シンボリック・リンクはその最終ターゲットに解決されます。 オプションNOFOLLOW_LINKSが存在する場合、このメソッドはシンボリック・リンクを解決しません。 一部の実装では、「..」などの特殊な名前を使用して親ディレクトリを参照できます。 実際のパスを取得しているときに、「..」(また同等のもの)の直前に「..」以外の名前が存在する場合は、実装によって通常、両方の名前が削除されます。 シンボリック・リンクを解決していないときに、先行する名前がシンボリック・リンクである場合は、結果となるパスがこのパスと同じファイルを検出することが保証されていれば、それらの名前は削除されます。
options - シンボリック・リンクの処理方法を示すオプションIOException - ファイルが存在しないか、入出力エラーが発生した場合SecurityException - デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、そのcheckReadメソッドが呼び出されてファイルへの読取りアクセスがチェックされ、このパスが絶対でない場合は、そのcheckPropertyAccessメソッドが呼び出されてシステム・プロパティuser.dirへのアクセスがチェックされるFile toFile()
Fileオブジェクトを返します。 このPathがデフォルト・プロバイダに関連付けられている場合、このメソッドは、このパスのString表現で構築されたFileオブジェクトを返すことと同等です。
このパスがFile toPathメソッドを呼び出すことで作成された場合は、このメソッドによって返されたFileオブジェクトが元のFileに等しいという保証はありません。
FileオブジェクトUnsupportedOperationException - このPathがデフォルト・プロバイダに関連付けられていない場合WatchKey register(WatchService watcher, WatchEvent.Kind<?>[] events, WatchEvent.Modifier... modifiers) throws IOException
このリリースでは、このパスは存在しているディレクトリを検出します。 そのディレクトリは、ディレクトリ内のエントリを監視できるように監視サービスに登録されます。 eventsパラメータは登録するイベントであり、次のイベントを含めることができます。
ENTRY_CREATE - エントリがディレクトリ内に作成または移動されたENTRY_DELETE - エントリがディレクトリから削除または取り出されたENTRY_MODIFY - ディレクトリ内のエントリが変更された これらのイベントのコンテキストは、このパスで検出されるディレクトリと、作成、削除、または変更されるディレクトリ・エントリを検出するパスとの間の相対パスになります。
イベントのセットには、列挙型のStandardWatchEventKindsで定義されない実装固有の追加のイベントを含めることができます。
modifiersパラメータは、ディレクトリの登録方法を修飾する修飾子を指定します。 このリリースでは、標準修飾子は定義されていません。 それには、実装固有の修飾子を含めることができます。
ファイルがシンボリック・リンクによって監視サービスに登録される場合、登録後も監視がそのシンボリック・リンクの存在に左右され続けるかどうかは実装に固有です。
register、インタフェースWatchablewatcher - このオブジェクトを登録する監視サービスevents - このオブジェクトを登録するべきイベントmodifiers - オブジェクトの登録方法を修飾する修飾子(ある場合)UnsupportedOperationException - 未サポートのイベントまたは修飾子が指定された場合IllegalArgumentException - イベントまたは修飾子の無効な組み合わせが指定された場合ClosedWatchServiceException - 監視サービスが閉じられている場合NotDirectoryException - ディレクトリ内のエントリを監視するようにファイルが登録されているが、そのファイルがディレクトリではない場合(オプションの固有例外)IOException - 入出力エラーが発生した場合SecurityException - デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkReadメソッドが呼び出されてファイルへの読取りアクセスがチェックされます。WatchKey register(WatchService watcher, WatchEvent.Kind<?>... events) throws IOException
このメソッド呼出しの動作は、次の呼出しの動作とまったく同一です。
watchable.register(watcher, events, new WatchEvent.Modifier[0]);
使用例: エントリの作成、削除、および変更イベント用にディレクトリを登録するとします。
Path dir = ...
WatchService watcher = ...
WatchKey key = dir.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
register、インタフェースWatchablewatcher - このオブジェクトを登録する監視サービスevents - このオブジェクトを登録するべきイベントUnsupportedOperationException - サポートされていないイベントが指定された場合IllegalArgumentException - イベントの無効な組み合わせが指定された場合ClosedWatchServiceException - 監視サービスが閉じられている場合NotDirectoryException - ディレクトリ内のエントリを監視するようにファイルが登録されているが、そのファイルがディレクトリではない場合(オプションの固有例外)IOException - 入出力エラーが発生した場合SecurityException - デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkReadメソッドが呼び出されてファイルへの読取りアクセスがチェックされます。Iterator<Path> iterator()
イテレータによって返される最初の要素は、ディレクトリ階層のルートにもっとも近い名前要素を表し、2番目の要素は次にもっとも近い名前要素となり、以降も同様です。 返される最後の要素は、このパスで示されるファイルまたはディレクトリの名前です。 イテレータでは、ルート・コンポーネント(存在する場合)は返されません。
int compareTo(Path other)
このメソッドを使って異なるファイル・システム・プロバイダに関連付けられているパスを比較することはできません。
compareTo、インタフェースComparable<Path>other - このパスと比較されるパス。等しい場合はゼロ。このパスが引数より語彙的に小さい場合は負の値。このパスが引数より語彙的に大きい場合は正の値ClassCastException - パスが異なるプロバイダに関連付けられている場合boolean equals(Object other)
指定されたオブジェクトがPathでないか、別のFileSystemに関連付けられたPathである場合、このメソッドはfalseを返します。
2つのパスが等しいかどうかは、ファイル・システムの実装によって異なります。 それらのパスは大文字小文字の区別なく比較される場合も、大文字小文字を区別して比較される場合もあります。 このメソッドはファイル・システムにアクセスしないため、ファイルが存在していなくてもかまいません。 必要な場合は、isSameFileメソッドを使用して2つのパスが同じファイルを検出するかどうかを確認できます。
このメソッドはObject.equalsの汎用規約を満たします。
equals、クラスObjectother - このオブジェクトと比較するオブジェクトPathと同じPathである場合にのみtrueObject.hashCode(), HashMapint hashCode()
ハッシュ・コードは、パスのコンポーネントに基づいており、Object.hashCodeメソッドの汎用規約を満たします。
hashCode、クラスObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。