Как сканировать все файлы MP3 в данном каталоге с помощью Java?

Опубликовано: 23 Февраля, 2023

В этой статье мы обсудим, как сканировать все файлы mp3, а не только по определенному пути для медиаплеера Android. Мы будем использовать рекурсивный метод сканирования файлов. Просканировать все папки и отсортировать все файлы mp3 с помощью класса File и FileFilter.

Реализация

Java




import java.io.File;
import java.io.FileFilter;
  
// Java program for scan all mp3 files in given directory
  
public class Main {
  
    public static final String C_DIRECTORY = "C:\";
  
    public static void main(String[] args)
    {
        scanAllFile(C_DIRECTORY);
    }
  
    // recursive function for scan all files in directory
    public static void scanAllFile(String path)
    {
        File file = new File(path);
  
        File[] files = file.listFiles();
        if (files == null)
            return;
  
        for (File f : files) {
  
            if (f.isDirectory() && f.exists()) {
                try {
                    scanAllFile(f.getPath());
                }
                catch (Exception e) {
                    e.printStackTrace();
                    continue;
                }
            }
            else if (!f.isDirectory() && f.exists()) {
                // using file filter
                if (filter.accept(f)) {
                    System.out.println(f.getName());
                }
            }
        }
    }
  
    // file filter for sort mp3 files
    static FileFilter filter = new FileFilter() {
        @Override 
          public boolean accept(File file)
        {
            if (file.getName().endsWith(".mp3")
                || file.getName().endsWith(".mp3")) {
                return true;
            }
            return false;
        }
    };
}

Выход:

break.mp3
error.mp3
foldedAreas.mp3
quickFixes.mp3
taskEnded.mp3
terminalBell.mp3
warning.mp3
house_lo.mp3