Language

Files.WalkFileTree メソッド

定義

オーバーロード

名前 説明
WalkFileTree(IPath, IFileVisitor)

ファイル ツリーをウォークします。

WalkFileTree(IPath, ICollection<FileVisitOption>, Int32, IFileVisitor)

ファイル ツリーをウォークします。

WalkFileTree(IPath, IFileVisitor)

ファイル ツリーをウォークします。

[Android.Runtime.Register("walkFileTree", "(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;", "", ApiSince=26)]
public static Java.Nio.FileNio.IPath? WalkFileTree(Java.Nio.FileNio.IPath? start, Java.Nio.FileNio.IFileVisitor? visitor);
[<Android.Runtime.Register("walkFileTree", "(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;", "", ApiSince=26)>]
static member WalkFileTree : Java.Nio.FileNio.IPath * Java.Nio.FileNio.IFileVisitor -> Java.Nio.FileNio.IPath

パラメーター

start
IPath

開始ファイル

visitor
IFileVisitor

各ファイルに対して呼び出すファイル ビジター

返品

開始ファイル

属性

注釈

ファイル ツリーをウォークします。

このメソッドは、呼び出しが式の評価と同等であるかのように動作します: <blockquote>

walkFileTree(start, EnumSet.noneOf(FileVisitOption.class), Integer.MAX_VALUE, visitor)

</blockquote> つまり、シンボリック リンクに従うのではなく、ファイル ツリーのすべてのレベルにアクセスします。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

WalkFileTree(IPath, ICollection<FileVisitOption>, Int32, IFileVisitor)

ファイル ツリーをウォークします。

[Android.Runtime.Register("walkFileTree", "(Ljava/nio/file/Path;Ljava/util/Set;ILjava/nio/file/FileVisitor;)Ljava/nio/file/Path;", "", ApiSince=26)]
public static Java.Nio.FileNio.IPath? WalkFileTree(Java.Nio.FileNio.IPath? start, System.Collections.Generic.ICollection<Java.Nio.FileNio.FileVisitOption>? options, int maxDepth, Java.Nio.FileNio.IFileVisitor? visitor);
[<Android.Runtime.Register("walkFileTree", "(Ljava/nio/file/Path;Ljava/util/Set;ILjava/nio/file/FileVisitor;)Ljava/nio/file/Path;", "", ApiSince=26)>]
static member WalkFileTree : Java.Nio.FileNio.IPath * System.Collections.Generic.ICollection<Java.Nio.FileNio.FileVisitOption> * int * Java.Nio.FileNio.IFileVisitor -> Java.Nio.FileNio.IPath

パラメーター

start
IPath

開始ファイル

options
ICollection<FileVisitOption>

トラバーサルを構成するためのオプション

maxDepth
Int32

アクセスするディレクトリ レベルの最大数

visitor
IFileVisitor

各ファイルに対して呼び出すファイル ビジター

返品

開始ファイル

属性

注釈

ファイル ツリーをウォークします。

このメソッドは、特定の開始ファイルをルートにしたファイル ツリーを示します。 ファイル ツリートラバーサルは <em>depth-first</em> で、検出された各ファイルに対して特定の FileVisitor が呼び出されます。 ファイル ツリーのトラバーサルは、ツリー内のすべてのアクセス可能なファイルがアクセスされた場合、または visit メソッドが FileVisitResult#TERMINATE TERMINATEの結果を返す場合に完了します。 IOException、キャッチされないエラー、またはランタイム例外が原因で visit メソッドが終了した場合、トラバーサルが終了し、エラーまたは例外がこのメソッドの呼び出し元に伝達されます。

検出されたファイルごとに、このメソッドは java.nio.file.attribute.BasicFileAttributesを読み取ろうとします。 ファイルがディレクトリでない場合は、ファイル属性を使用して FileVisitor#visitFile visitFile メソッドが呼び出されます。 I/O 例外が原因でファイル属性を読み取ることができない場合、 FileVisitor#visitFileFailed visitFileFailed メソッドは I/O 例外で呼び出されます。

ファイルがディレクトリであり、ディレクトリを開けなかった場合、 visitFileFailed メソッドは I/O 例外を伴って呼び出されます。その後、ファイル ツリー ウォークは、既定では、ディレクトリの次の <em>ibling</em> で続行されます。

ディレクトリが正常に開かれると、ディレクトリ内のエントリとその <em>descendants</em> がアクセスされます。 すべてのエントリにアクセスしたとき、またはディレクトリの反復処理中に I/O エラーが発生すると、ディレクトリが閉じられ、ビジターの FileVisitor#postVisitDirectory postVisitDirectory メソッドが呼び出されます。 既定では、ファイル ツリーウォークは、ディレクトリの次の <em>ibling</em> で続行されます。

既定では、シンボリック リンクの後にこのメソッドが自動的に続くわけではありません。 options パラメーターに FileVisitOption#FOLLOW_LINKS FOLLOW_LINKS オプションが含まれている場合は、シンボリック・リンクがフォローされます。 リンクをフォローしていて、ターゲットの属性を読み取ることができない場合、このメソッドはリンクの BasicFileAttributes を取得しようとします。 読み取ることができる場合、 visitFile メソッドはリンクの属性を使用して呼び出されます (それ以外の場合、 visitFileFailed メソッドは上記で指定したように呼び出されます)。

options パラメーターに FileVisitOption#FOLLOW_LINKS FOLLOW_LINKS オプションが含まれている場合、このメソッドは、サイクルを検出できるように、アクセスされたディレクトリを追跡します。 ディレクトリの先祖であるディレクトリにエントリがある場合、サイクルが発生します。 サイクル検出は、ディレクトリの java.nio.file.attribute.BasicFileAttributes#fileKey file-key を記録するか、ファイル キーが使用できない場合は、 #isSameFile isSameFile メソッドを呼び出して、ディレクトリが先祖と同じファイルであるかどうかをテストすることによって行われます。 サイクルが検出されると、I/O エラーとして扱われ、 FileVisitor#visitFileFailed visitFileFailed メソッドが FileSystemLoopException のインスタンスで呼び出されます。

maxDepth パラメーターは、アクセスするディレクトリのレベルの最大数です。 0値は、セキュリティ マネージャーによって拒否されない限り、開始ファイルのみがアクセスされることを意味します。 Integer#MAX_VALUE MAX_VALUEの値は、すべてのレベルにアクセスする必要があることを示すために使用できます。 visitFile メソッドは、基本的なファイル属性を読み取ることができない場合を除き、maxDepthで検出されたディレクトリを含むすべてのファイルに対して呼び出されます。この場合、visitFileFailed メソッドが呼び出されます。

訪問者が null の結果を返した場合、 NullPointerException がスローされます。

セキュリティ マネージャーがインストールされ、ファイル (またはディレクトリ) へのアクセスを拒否した場合、そのファイル (またはディレクトリ) に対してビジターは呼び出されません。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象