避免 .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 字节码 asm - 如何创建仅更改类名的类的克隆?

objective-c - CoreAnimation 未提交 CATransaction 警告

objective-c - Objective-c 中的指针

c# - 如何使用反射将未知属性正确地转换为从公共(public)基础派生的通用列表?

java - Spring Boot with websphere 8.5.5 - UOWManager 事务处理失败

java - 从装有 Apache Tomcat 8.x 的 Linux 服务器使用 Java Web App 打开 Outlook

java - 需要设置frame.setResizable(false)为repaint()

c++ - 如何将 Allegro(或任何库)添加到 Mac 上的 header 包含路径?

python - 索引错误: list assignment index out of range in Python

python - 为什么 Python `Memory Error` 列表 `append()` 剩余大量 RAM