0

このAPIから直接、postVisitDirectory メソッドの説明を次に示します。

postVisitディレクトリ

FileVisitResult postVisitDirectory(T dir, IOException exc) は IOException をスローします

ディレクトリ内のエントリとそのすべての子孫がアクセスされた後、ディレクトリに対して呼び出されます。このメソッドは、ディレクトリの繰り返しが途中で完了した場合にも呼び出されます (visitFile メソッドが SKIP_SIBLINGS を返すか、ディレクトリを繰り返し処理するときに I/O エラーが発生した場合)。

この説明の最後の部分をテストしたいと思います:「またはディレクトリを反復処理するときの I/O エラー」。

This is my postVisitDirectory():

    public FileVisitResult postVisitDirectory(Path dir, IOException io)
    {
    System.out.println(dir.getFileName());
    if (io!=null)
    {
        System.err.println("IT IS NOT NULL!");
    }
    return FileVisitResult.CONTINUE;    
    }

メソッドで「IT IS NOT NULL」をトリガーしたいと思いますpostVisitDirectory。何か案が?前もって感謝します。

4

1 に答える 1

0

カスタムIOExceptionvisitFile()スローして再スローして、visitFileFailed()に伝播されているかどうかを確認しましたpostVisitDirectory()か? それ以外の場合は、ファイルにアクセスできないようにするか、反復しているディレクトリを削除してください。

于 2013-09-10T09:35:43.733 に答える