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 ドキュメント java.nio.file.Files.walkFileTree(java.nio.file.Path, java.nio.file.FileVisitor<? super java.nio.file.Path>)

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

適用対象

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

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

戻り値

開始ファイル

属性

注釈

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

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

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

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

ディレクトリが正常に開かれると、ディレクトリ内のエントリとその <em>子孫</em> にアクセスします。 すべてのエントリにアクセスした場合、またはディレクトリの反復処理中に I/O エラーが発生すると、ディレクトリが閉じられ、訪問者の FileVisitor#postVisitDirectory postVisitDirectory メソッドが呼び出されます。 ファイル ツリーウォークは、既定ではディレクトリの次 <の em>兄弟</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 エラーとして扱われ、 のインスタンスFileSystemLoopExceptionFileVisitor#visitFileFailed visitFileFailed使用して メソッドが呼び出されます。

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

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

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

の Java ドキュメント java.nio.file.Files.walkFileTree(java.nio.file.Path, java.util.Set<java.nio.file.FileVisitOption>, int, java.nio.file.FileVisitor<? super java.nio.file.Path>)

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

適用対象