JAVA

java.io.File을 이용한 디렉토리와 파일 검색(call back)

Tiwaz 2010. 5. 7. 01:42

프로젝트 수행중 간단하게 workspace 안의 파일 목록이 필요하여 간단하게 파일 검색하는 콜백 함수를 만들어 보았다;; 검색 및 출력은 제대로 되는데 검증은... ?



import java.io.File;

class FileSearch
{
    public static void main(String[] args)
    {
        printFiles(new File("C:/"));
    }

 

     // 파일을 매개 변수로 받는 메소드
     public static void printFiles(File f) 
    {
        // 매개변수가 디렉토리 일경우
        if(f.isDirectory()) 
        {
            String[] s = f.list();  // 디렉토리 내의 모든 파일의 list를 확인
   
            // 파일 목록에서 디렉토리일 경우
            //printFiles 메소드 호출 그리고 파일일 경우 단순 출력을 수행
            for(int i=0; i<s.length;i++) 
            {
                File f1 = new File(f.getPath() + "/" + s[i]);
    
                if(f1.isDirectory())
                {
                      System.out.println(f1);
                      printFiles(f1);
                 }
                 else
                 {
                       System.out.println("isFile " + f1.getPath() + "\t" + f1.getName());
                 }
            }
       }
      else
      {
           System.out.println("파일이지요~ " + f.getName());
       }
  
    }
}