package de.mpicbg.knime.knutils;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* Document me!
*
* @author Holger Brandl
*/
public class FileUtils {
/**
* Recursively parses a directory and put all files in the return list which match ALL given filters.
*/
public static List<File> findFiles(File directory) {
return findFiles(directory, true);
}
/**
* Collects all files list which match ALL given filters.
*
* @param directory the base directory for the search
* @param beRecursive
* @return
*/
public static List<File> findFiles(File directory, boolean beRecursive) {
assert directory.isDirectory();
List<File> allFiles = new ArrayList<File>();
File[] files = directory.listFiles();
for (File file : files) {
if (file.isDirectory()) {
if (beRecursive)
allFiles.addAll(findFiles(file));
} else {
if (!file.isHidden()) {
allFiles.add(file);
}
}
}
Collections.sort(allFiles);
return allFiles;
}
}