java - 列出名称中包含 6 位数字的文件夹
问题描述
我试图仅列出名称中有数字和 6 位数字的文件夹,
File[] directories = new File("F:\\war").listFiles(File::isDirectory);
for(File getDirectory : directories) {
Path folder = Paths.get(getDirectory.getAbsolutePath());
BasicFileAttributes attr =
Files.readAttributes(folder, BasicFileAttributes.class);
}
例子 :
C:\\war\\NewOne
C:\\war\\032678
C:\\war\\908
输出 :
C:\\war\\032678
我怎样才能做到这一点?
解决方案
使用正则表达式匹配在 listFiles 方法中添加一个 else 条件:
File[] directories = new File("F:\\war")
.listFiles(file -> file.isDirectory() &&
file.getName().matches("[0-9]{6}"));
推荐阅读
- c# - 如何根据gremlin中节点的属性过滤值
- node.js - 一个角度组件如何在不手动刷新整个页面的情况下告诉另一个组件刷新
- python - 如何从 python 中的另一个 .py 文件访问全局变量?
- spring-boot - 为什么 isEmpty() 不检查 null?
- sql-server - 使用 mssql 模块的 node.js 程序 - 连接到 SQL Server 数据库失败
- linux-kernel - CentOS 7 - 在 nvme 设备上从 3.10 内核更新到 5.x 后无法启动
- r - 关于所有列,如何对整个数据框进行排序
- r - 根据多个标准对ggplot中的离散x轴进行排序
- typescript - 如何复制两个接口之间的相似性
- rust - 什么时候可以安全地将引用的生命周期延长到 Arenas?