본문 바로가기

나의 창고/JAVA

JAVA 폴더에 있는 파일 정열하여 가져 오는 법

/폴더읽기 위한 파일

import java.io.File;
import java.util.Arrays;
import java.util.Date;
import java.io.File;
import java.util.Comparator;


public class testSort{
    public static void main(String args[]){

        //폴더명 세팅
        String folder="D:\\send";
        //폴더명으로 파일객체 생성
          File file=new File(folder);
   
    //폴더명의 폴더가 없다면 종료
          if(!file.isDirectory()){
          System.out.println("해당디렉토리는 존재하지 않습니다");
           System.exit(1);
      
          }
          //폴더라면 폴더가 가진 파일객체를 리스트로 받는다.
          File[] list=file.listFiles();
     
          //ModifiedDate클래스에 정의된 순서에 의해 정렬한다.
      Arrays.sort(list,new ModifiedDate());
   
      //리스트에서 파일을 하나씩 꺼낸다
          for(File f:list){
   
          //파일일 경우만 출력
          if(f.isFile()){
   
           //날짜 출력을 위한 Date객체 생성 생성자로 마지막 수정날짜인 lastModified메소드의 long리턴값을 넣는다.
           Date d=new Date(f.lastModified());
   
        //파일명, 날짜, 크기를 출력한다.
            System.out.println(f.getName()+"\t"+d.toString()+"\t"+f.length());
           }
          }
     }
}


//Arrays.sort()메소드에 사용하기 위해 Comparator인터페이스 구현, 비교하는 객체는 File객체

class ModifiedDate implements Comparator<File>{

     public int compare(File f1, File f2) {
   
         //수정날짜의 값이 더크면 -1리턴, -1을 리턴하면 첫번째것이 앞으로 간다.
         if(f1.lastModified()>f2.lastModified())
             return 1;
   
         //같으면 0
         if(f1.lastModified()==f2.lastModified())
             return 0;
   
         //작으면 1
         return -1;
     }
}

이걸로 잘 해결 되어야 할텐데...쩝...

'나의 창고 > JAVA' 카테고리의 다른 글

오라클 테이블 만들기  (0) 2009.09.04
JAVA 파일 읽을 때 필터링  (0) 2009.08.10
JAVA 스레드  (0) 2009.08.09
JAVA e.printStackTrace()  (0) 2009.07.27
JDBC connectionPoll  (0) 2009.07.24