Java: list files recursively in subdirectories with Apache commons-IO 2.4

TonyGW picture TonyGW · Nov 4, 2013 · Viewed 10.7k times · Source

I'm trying to list files with the extension ".xls" in the root directory and its sub-directories, using the following code with Apache Commons-IO 2.4 library. I am checking the size of the collection<File>, but it gives 0. I don't see where could be wrong in the code. Could you please help me with this?

public static void main(String[] args) throws IOException {

    File rootDir = new File(args[0]);

    Collection<File> files = FileUtils.listFiles(rootDir, new RegexFileFilter("[a-zA-Z].xls"), DirectoryFileFilter.DIRECTORY);

    System.out.println("collection size:" + files.size());

}

Answer

TonyGW picture TonyGW · Nov 4, 2013

I found this works:

    final String[] SUFFIX = {"xls"};  // use the suffix to filter

    File rootDir = new File(args[0]);

    Collection<File> files = FileUtils.listFiles(rootDir, SUFFIX, true);