- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
虽然我已经看到了很多类似问题的答案,但我无法使以下代码按我认为应该的方式工作:
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
仅迭代您提供的目录并匹配该目录中的条目。它不查找任何子目录。
您需要使用Files
的 walkXXXX 方法之一来查找所有目录。例如:
try (Stream<Path> stream = Files.walk(dataDir.toPath())) {
stream.filter(pathMatcher::matches)
.forEach(path -> System.out.println(path.toString()));
}
注意:Files.walk
(以及 Files
中的其他几个方法)返回的 Stream
必须关闭或资源将被泄漏。建议使用此处所示的 try-with-resources 语句。
关于java - 带有 PathMatcher 的 DirectoryStream 不返回任何路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37383668/
我有一个测试服务器,它在运行时接受期望值,并在调用期望值时做出相应的响应。期望存储在 state 中。这是路线: val route: Route = ctx => { val routes =
错误:路由 '{path:"teams/", redirectTo:"all"}' 的配置无效:请提供 'pathMatch'。 'pathMatch' 的默认值是 'prefix',但通常意图是使用
我正在用 Java 编写一个应用程序,该应用程序显示文件列表,其中文件名中的第一个单词与用户定义的字符串匹配,然后根据某些首选项删除或重新排列它们。我目前正处于寻找找到我的文件的好方法的阶段。使用th
目录 概述 PathMatcher接口源代码 AntPathMatcher使用例子 spring的路径匹配工具 AntPat
我研究全局模式。 我写了一个简单的例子: PathMatcher matcher = FileSystems.getDefault().getPathMatcher("glob:D:\\folder1
我的目标是创建一个具有 glob 功能的 FileScanner 并添加一些自定义过滤器功能(例如最小或最大文件大小)。 我的第一次尝试是: final PathMatcher pathMat
我尝试为我的 SimpleFileVisitor 实现 JUnit 测试,但使用的 PathMatcher 在 Windows 上无法正常工作。问题似乎是具有正则表达式模式的 PathMatcher
无论出于何种原因,我似乎无法获得匹配任何文件的 glob 语法路径匹配器。 我已将我的代码简化为以下方法: public static void match() throws IOException
我在删除路径匹配器从不匹配的孤立对象时遇到问题。如果路径中包含 2 个 id,我应该使用什么作为路径。谢谢。 即/api/getEntity/1234/123,其中 1234 是父 ID,123 是实
让我们: Path path = Paths.get("C:\\1.txt"); 以下代码打印“true”: PathMatcher matcher = FileSystems.getDefault(
虽然我已经看到了很多类似问题的答案,但我无法使以下代码按我认为应该的方式工作: File dataDir = new File("C:\\User\\user_id"); PathMatcher pa
实际的实现是特定于文件系统的,并且 PathMatcher 的实例可能有状态,所以不太可能。 有人确切知道吗? 最佳答案 一个PathMatcher看起来是一个纯粹的函数式接口(interface)。
在这里它使用完整的路径匹配,当我删除这个路径匹配时,它甚至不会加载应用程序或运行项目 import { NgModule } from '@angular/core'; import { Browse
当我在Ingress文件中添加50个以上的路径时-从Google Cloud Platform获取以下错误。 “同步期间出错:UpdateURLMap:googleapi:错误413:字段'resou
我有一条路由需要对多个用户进行身份验证。对spring cloud gateway服务进行集成测试,以测试所有路由安全性是否按预期工作。如何向单个路径匹配器/路由添加超过 1 个用户角色? 使用 Sp
我有以下路由器对象 const appRoutes: Routes = [ { path: '', redirectTo: '/', pathMatch:'full'}, { path: ''
我是一名优秀的程序员,十分优秀!