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

Hyp*_*ion 4 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++){
Run Code Online (Sandbox Code Playgroud)

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

Mad*_*nan 7

您可以传递一个FileNameFilterFile.listFiles过滤掉您不想要的那个.

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

编辑:Java 8 lambda版本

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