当前位置: 首页 > 面试题库 >

带有PathMatcher的DirectoryStream不返回任何路径

曹建明
2023-03-14
问题内容

尽管我看到了很多类似问题的答案,但我无法使以下代码正常工作:

File dataDir = new File("C:\\User\\user_id");
PathMatcher pathMatcher = FileSystems.getDefault()
    .getPathMatcher("glob:" + "**\\somefile.xml");
try (DirectoryStream<Path> dirStream = Files.newDirectoryStream(
    dataDir.toPath(), pathMatcher::matches)) {
    Iterator<Path> itStream = dirStream.iterator();
    while(itStream.hasNext()) {
        Path resultPath = itStream.next();
    }
} catch (IOException e) {...

我希望在C:\ User \ user_id下获得所有“
somefile.xml”的路径列表,以及该路径下的所有子目录。但是hasNext()方法每次都返回false。


问题答案:

DirectoryStream迭代您提供的目录并匹配该目录中的条目。它 不在 任何子目录中查找。

您需要使用walkXXXX方法之一Files来查看所有目录。例如:

try (Stream<Path> stream = Files.walk(dataDir.toPath())) {
  stream.filter(pathMatcher::matches)
        .forEach(path -> System.out.println(path.toString()));
}


 类似资料:
  • 问题内容: JDK中是否有一个标准的功能接口,该接口什么都不做,什么也不返回?我找不到一个。类似于以下内容: 问题答案: 那么Runnable呢:

  • 问题内容: 过去几个小时来,我一直在摆弄这个代码片段,但是我无法理解jQuery的自动完成UI的工作方式。我遵循了本教程http://viralpatel.net/blogs/tutorial- create-autocomplete-feature-with-java-jsp- jquery/, 我使用了相同的示例,但是我使用了一个servlet来代替向JSP发送请求。该请求到达servlet“

  • 我必须写一个方法来找到最小的n,使得小于n的自然数之和超过k。但是,当我尝试测试该方法时,它不会返回任何值。 我尝试这样调用,在main方法中:

  • 我在HBASE有一张桌子。我和菲尼克斯一起创造的 然后我用spark填充它(我使用hortonworks shc-core连接器): 多谢帮忙。

  • 我有一个像这样的mysql表 但是我无法用这个函数检索“成人”和“儿童”的值 错误日志显示变量被正确地传递给函数: 为什么此函数返回?

  • 我如何告诉Panache查询的结果将是而不是? 谢谢你的回答 编辑:回购代码: