Java Files.walk跳过目录
我正试图写一个程序,在我的外部硬盘中递归地列出文件,但有一个回收站文件夹,我没有访问权。我想跳过文件夹,但似乎做不到 下面的代码有什么问题吗Java Files.walk跳过目录,java,nio,Java,Nio,我正试图写一个程序,在我的外部硬盘中递归地列出文件,但有一个回收站文件夹,我没有访问权。我想跳过文件夹,但似乎做不到 下面的代码有什么问题吗 public static void main(String[] args) throws Exception { String path = "K:\\"; Files.walk(Paths.get(path)) .filter(it -> !it.toString().startsWith("K:\\$R
public static void main(String[] args) throws Exception
{
String path = "K:\\";
Files.walk(Paths.get(path))
.filter(it -> !it.toString().startsWith("K:\\$RECYCLE.BIN"))
.filter(Files::isRegularFile)
.forEach(System.out::println);
}
它总是给我这个错误:
Exception in thread "main" java.io.UncheckedIOException java.nio.file.AccessDeniedException: K:\$RECYCLE.BIN\S-1-5-21-684815243-3314879918-332412784-1001
at java.nio.file.FileTreeIterator.fetchNextIfNeeded(FileTreeIterator.java:88)
at java.nio.file.FileTreeIterator.hasNext(FileTreeIterator.java:104)
...
您的代码没有问题,这是
文件的设计问题。walk
。有关详细信息,请参见。哦,好吧,我想我必须用递归函数的旧式方法来实现它?不,不一定。有几种方法可以遍历文件树。例如,您可以使用FileVisitor
作为