Directory Traversal : Traverse a directory tree

Given the root of a directory tree, return a list of files whose names match a given pattern.

Download directorytraversal.zip

Synopsis:

directorytraversal.java


directorytraversal.java

Synopsis
//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());
              }
          }
      }
    }






Contact me about content on this page using john_web-at-arrizza-dot-com
For Web Master or site problems contact: webadmin-at-arrizza-dot-com
Copyright John Arrizza (c) 2001-2010