IOUtils.java
806 Bytes
package ipipan.clarin.tei.api.io;
import java.io.File;
import java.io.FileFilter;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
/**
*
* @author mlenart
*/
public class IOUtils {
public static Iterable<File> getNKJPDirs(File root) {
List<File> res = doGetAllDirs(root, NKJPDirFilter.getInstance());
if (NKJPDirFilter.getInstance().accept(root))
res.add(root);
Collections.sort(res);
return res;
}
private static List<File> doGetAllDirs(File root, FileFilter fileFilter) {
List<File> res = new LinkedList<File>(Arrays.asList(root
.listFiles(fileFilter)));
if (res.isEmpty()) {
for (File dir : root.listFiles(DirFileFilter.getInstance())) {
res.addAll(doGetAllDirs(dir, fileFilter));
}
}
return res;
}
}