0

这里直接来自这个API是 postVisitDirectory 方法的描述:

后访问目录

FileVisitResult postVisitDirectory(T dir, IOException exc) 抛出 IOException

在访问目录中的条目及其所有后代之后为目录调用。当目录的迭代过早完成时也会调用此方法(通过返回 SKIP_SIBLINGS 的 visitFile 方法,或迭代目录时的 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;    
    }

我想在postVisitDirectory方法中触发“IT IS NOT NULL”。任何想法?提前致谢。

4

1 回答 1

0

您是否尝试过投入自定义IOExceptionvisitFile()重新投入visitFileFailed()以检查它是否传播到postVisitDirectory()?否则尝试使文件不可访问或删除您正在迭代的目录。

于 2013-09-10T09:35:43.733 回答