package jeql.util;
import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.List;
import jeql.api.row.ArrayRowList;
import jeql.api.row.BasicRow;
import jeql.io.ExtensionFilenameFilter;
public class FileUtil {
public static final String EXTENSION_SEPARATOR = ".";
/**
* Get name of file (with extension, if any)
*
* @param path
* @return
*/
public static String name(String path)
{
File file = new File(path);
return file.getName();
}
public static String extension(String path)
{
String name = name(path);
int extIndex = name.lastIndexOf(EXTENSION_SEPARATOR.charAt(0));
if (extIndex < 0) return "";
return name.substring(extIndex, name.length());
}
public static File[] listFiles(String dirname, String pattern, boolean includeDirs)
{
if (pattern == null)
return listFiles(dirname, (FilenameFilter) null, includeDirs);
return listFiles(dirname, new ExtensionFilenameFilter(pattern), includeDirs);
}
public static File[] listFiles(String dirname, FilenameFilter filter, boolean includeDirs)
{
File[] files;
if (filter == null)
files = (new File(dirname)).listFiles();
else
files = (new File(dirname)).listFiles(filter);
if (files == null) return new File[0];
if (includeDirs) return files;
List<File> list = new ArrayList<File>();
for (File f : files) {
if (f.isFile()) {
list.add(f);
}
}
return list.toArray(new File[0]);
}
}