- 
- 既知のすべての実装クラス:
- SimpleFileVisitor
 
 public interface FileVisitor<T>ファイルのビジターです。 このインタフェースの実装は、ファイル・ツリー内の各ファイルをビジットするFiles.walkFileTreeメソッドに渡されます。使用例: ファイル・ツリーを削除するとします。 その場合、各ディレクトリの削除は、そのディレクトリ内のエントリを削除したあとで行うようにしてください。 Path start = ... Files.walkFileTree(start, new SimpleFileVisitor<Path>() { @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { Files.delete(file); return FileVisitResult.CONTINUE; } @Override public FileVisitResult postVisitDirectory(Path dir, IOException e) throws IOException { if (e == null) { Files.delete(dir); return FileVisitResult.CONTINUE; } else { // directory iteration failed throw e; } } });さらに、ファイル・ツリーをターゲットの場所にコピーするとします。 その場合、シンボリック・リンクをたどり、ターゲット・ディレクトリを作成してから、そのディレクトリ内のエントリをコピーするようにしてください。 final Path source = ... final Path target = ... Files.walkFileTree(source, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<Path>() { @Override public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { Path targetdir = target.resolve(source.relativize(dir)); try { Files.copy(dir, targetdir); } catch (FileAlreadyExistsException e) { if (!Files.isDirectory(targetdir)) throw e; } return CONTINUE; } @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { Files.copy(file, target.resolve(source.relativize(file))); return CONTINUE; } });- 導入されたバージョン:
- 1.7
 
- 
- 
メソッドのサマリー修飾子と型 メソッド 説明 FileVisitResultpostVisitDirectory(T dir, IOException exc)ディレクトリ内のエントリ、およびそのすべての子孫がビジットされたあとにそのディレクトリに対して呼び出されます。FileVisitResultpreVisitDirectory(T dir, BasicFileAttributes attrs)ディレクトリ内のエントリがビジットされる前に、そのディレクトリに対して呼び出されます。FileVisitResultvisitFile(T file, BasicFileAttributes attrs)ディレクトリ内のファイルに対して呼び出されます。FileVisitResultvisitFileFailed(T file, IOException exc)ビジットできなかったファイルに対して呼び出されます。
 
- 
- 
- 
メソッドの詳細- 
preVisitDirectoryFileVisitResult preVisitDirectory(T dir, BasicFileAttributes attrs) throws IOException ディレクトリ内のエントリがビジットされる前に、そのディレクトリに対して呼び出されます。このメソッドが CONTINUEを返す場合、ディレクトリ内のエントリがビジットされます。 このメソッドがSKIP_SUBTREEまたはSKIP_SIBLINGSを返す場合、ディレクトリ(およびすべての子孫)内のエントリはビジットされません。- パラメータ:
- dir- ディレクトリへの参照
- attrs- ディレクトリの基本属性
- 戻り値:
- ビジットの結果
- 例外:
- IOException- 入出力エラーが発生した場合
 
 - 
visitFileFileVisitResult visitFile(T file, BasicFileAttributes attrs) throws IOException ディレクトリ内のファイルに対して呼び出されます。- パラメータ:
- file- ファイルへの参照
- attrs- ファイルの基本属性
- 戻り値:
- ビジットの結果
- 例外:
- IOException- 入出力エラーが発生した場合
 
 - 
visitFileFailedFileVisitResult visitFileFailed(T file, IOException exc) throws IOException ビジットできなかったファイルに対して呼び出されます。 このメソッドは、ファイルの属性を読み取れなかったり、ファイルが開けないディレクトリだったりなどの理由の場合に呼び出されます。- パラメータ:
- file- ファイルへの参照
- exc- ファイルへのビジットを妨げた入出力例外
- 戻り値:
- ビジットの結果
- 例外:
- IOException- 入出力エラーが発生した場合
 
 - 
postVisitDirectoryFileVisitResult postVisitDirectory(T dir, IOException exc) throws IOException ディレクトリ内のエントリ、およびそのすべての子孫がビジットされたあとにそのディレクトリに対して呼び出されます。 このメソッドは、ディレクトリの反復処理が早く完了しすぎた場合(visitFileメソッドがSKIP_SIBLINGSを返したり、ディレクトリに対する反復処理時に入出力エラーが発生したりすることにより)にも呼び出されます。- パラメータ:
- dir- ディレクトリへの参照
- exc- エラーが発生せずにディレクトリの反復が完了した場合は- null、そうでない場合はディレクトリの反復が早く完了させた入出力例外
- 戻り値:
- ビジットの結果
- 例外:
- IOException- 入出力エラーが発生した場合
 
 
- 
 
-