避免 .DS_Store 的文件夹中的 Java 列表文件

标签 java macos list

当我尝试用这个列出文件夹中的文件时:

String file;
File folder = new File("/Users/francesco/Desktop/VIDEOS");
File[] listOfFiles = folder.listFiles();
BufferedReader br = null;
for (int i = 0; i < listOfFiles.length; i++){

它还读取文件夹中的 .DS_Store 文件,给我带来很多错误。如何避免在 Java 中读取这些 .DS_Store 文件?

最佳答案

您可以将 FileNameFilter 传递给 File.listFiles 以过滤掉您不想要的文件。

    File[] files = folder.listFiles(new FilenameFilter() {
        @Override
        public boolean accept(File dir, String name) {
            return !name.equals(".DS_Store");
        }
    });

编辑:Java 8 lambda 版本

    File[] files = folder.listFiles((dir, name) -> !name.equals(".DS_Store"));

关于避免 .DS_Store 的文件夹中的 Java 列表文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30486404/

相关文章:

java - 我如何调用父类(super class)的重写方法?

java - 不了解 Fowler 的《重构》书中提到的更改接口(interface)时的异常处理

python - 无法在 mac os 上为 python 3.6 pip 安装 GDAL

macos - postgres 归类差异。 OSX 与 Ubuntu

c - OS X锁屏用纯C?

java - 如何从 List<Object> 转换为 List<A> 或 List<?延伸 A>?

替换 sf 中列表中的几何图形

java - 如何在 Maven 中读取外部属性文件

java - 使用 RestTemplate (3.1) 的基本身份验证

list - 删除列表中给定元素的第一次出现