//WARNING UNTESTED!
package jsnippets;
import java.io.File;
import java.io.FileFilter;
import java.util.Stack;
import java.util.ArrayList;
class directorytraversal
{
//--------------------------------------------
static private class isMatch implements FileFilter
{
public boolean accept(File f)
{
//replace 'true' with other conditions you require
return f.isDirectory() || true;
}
}
//--------------------------------------------
static void getFileList(File rootdir, ArrayList filelist)
{
Stack dirs = new Stack();
dirs.push(rootdir);
while (!dirs.empty())
{
File dir = (File) dirs.pop();
File tests[] = dir.listFiles(new isMatch());
for (int i = 0; i < tests.length; ++i)
{
if (tests[i].isDirectory())
dirs.push(tests[i]);
else if (dir.getName().equals("."))
filelist.add(tests[i].getName());
else
filelist.add(dir.getName() + "." + tests[i].getName());
}
}
}
}
|