首页 > 解决方案 > 列出名称中包含 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

我怎样才能做到这一点?

标签: javafilejava-8

解决方案


使用正则表达式匹配在 listFiles 方法中添加一个 else 条件:

File[] directories = new File("F:\\war")
                        .listFiles(file -> file.isDirectory() && 
                                           file.getName().matches("[0-9]{6}"));


推荐阅读