Here you can find the source of listAll(File file, javax.swing.filechooser.FileFilter filter)
public static File[] listAll(File file, javax.swing.filechooser.FileFilter filter)
//package com.java2s; //License from project: Open Source License import java.io.*; import java.util.ArrayList; import java.util.List; public class Main { public static File[] listAll(File file, javax.swing.filechooser.FileFilter filter) { List<File> arrayList = new ArrayList<>(); File[] files;/*w w w . j a v a2s . c om*/ if (!file.exists() || file.isFile()) { return null; } list(arrayList, file, filter); files = new File[arrayList.size()]; arrayList.toArray(files); return files; } private static void list(List<File> list, File file, javax.swing.filechooser.FileFilter filter) { if (filter.accept(file)) { list.add(file); if (file.isFile()) { return; } } if (file.isDirectory()) { File[] files = file.listFiles(); for (File file1 : files != null ? files : new File[0]) { list(list, file1, filter); } } } }