How do I find/search for a file in a given directory and its sub-directories?

This example shows you how to find/search for a file in a given directory and its sub-directories.
package net.javaiq.examples.files;

import java.io.File;

/**
 * This class demonstrates on how to find/search for a file in a given directory and its sub-directories. 
 * @author JavaIQ.net
 * Creation Date Dec 10, 2010
 */
public class FileSearcher {
    boolean fileFound = false;
    String fileSeparator = "\\";
    String filePath;
    String lastModifiedBy;
    String lastModifiedDate;


    public void searchFile(String dirName, String fileName) {
        File f = new File(dirName);
        File files[] = f.listFiles();

        for (int i = 0; (< files.length) && !fileFound; i++) {
            if (files[i].isDirectory()) {
                String newDir = dirName + fileSeparator + files[i].getName();
                searchFile(newDir, fileName);
            } else {
                if (files[i].getName().equalsIgnoreCase(fileName)) {
                    filePath = files[i].getAbsolutePath();
                    lastModifiedDate = new java.util.Date(files[i].lastModified()).toString();
                    fileFound = true;
                    break;
                }
            }
        }
    }

    /**
     * Method to test other methods in the class with sample inputs
     * @param args
     */
    public static void main(String[] args) {
        FileSearcher fileFinder = new FileSearcher();
        String fileName = "FileUtility.java";
        String searchDirectory = "D:\\APPS\\eRASU";
        fileFinder.searchFile(searchDirectory, fileName);
        if (fileFinder.fileFound) {
            System.out.println("File Name : " + fileName);
            System.out.println("File Directory : " + fileFinder.filePath);
            System.out.println("Last Modified Date : " + fileFinder.lastModifiedDate);
        } else {
            System.out.println("File " + fileName + " not found in " + searchDirectory + 
                               " or in any of its sub-folders.");
        }
    }
}