JAVA2014. 4. 19. 11:31


[JAVA] FilenameFilter 를 이용한 특정 확장자 파일리스트 가져오기


하위디렉토리 폴더와 파일 읽기


import java.io.*; 

import java.util.ArrayList;

import java.util.Collections; 



public class folderInReader {



    private static ArrayList<String> list = new ArrayList<String>(); 

    

public static void main(String[] args) throws IOException {


        String message = null;

        String filePath = ".";

        File path = new File( filePath );

        

        if( path.exists() == false ){

            System.out.println("경로가 존재하지 않습니다");

        }

        File[] fileList = path.listFiles();

        

        int tab = 1;

        for( int i = 0 ; i < fileList.length ; i++ ){

            if( fileList[ i ].isDirectory() ){

                message = "[디렉토리] ";

                message += fileList[ i ].getName();

                System.out.println( message );

                subDirList(  fileList[ i ].getName(), tab);

               

                Collections.reverse(list); 

                

                for(String str:list) {

                System.out.println(str);

                }

                

                list.clear();

                                             

            }else{

                message = "[파일] ";

                message += fileList[ i ].getName();

                System.out.println( message );

            }

            

        }

        

    } 

private static void subDirList(String source, int tab){

File dir = new File(source); 

File[] fileList = dir.listFiles(); 

 

String sTab = "";

for ( int i =0 ; i < tab ; i++){

sTab +="\t";

}

try{

for(int i = 0 ; i < fileList.length ; i++){

File file = fileList[i]; 

if(file.isFile()){

    // 파일이 있다면 파일 이름 출력

if( i==0 ){

//System.out.println("[디렉토리 이름] = " + dir.getPath()   );

list.add("[디렉토리 이름1] = " + dir.getPath() ) ;

}

//System.out.println(sTab + " 파일 이름 = " + file.getName());

list.add(sTab + " 파일 이름 = " + file.getName() );

}else if(file.isDirectory()){ 

    // 서브디렉토리가 존재하면 재귀적 방법으로 다시 탐색

subDirList(file.getCanonicalPath().toString(),tab+1);

list.add("[디렉토리 이름2] = " + dir.getPath() );

//System.out.println("[디렉토리 이름] = " + dir.getPath()   );

}

}

}catch(IOException e){

}

 

}



}



'JAVA' 카테고리의 다른 글

[펌]jar 내부 파일 읽기  (0) 2014.04.19
[펌]Java Architecture for XML Binding (JAXB) 예제  (0) 2014.03.03
[ERROR] java 오류 정리  (0) 2014.02.26
Socket으로 Mail 전송 샘플  (0) 2014.02.24
SMTP 서버를 통해 메일 전송  (0) 2014.02.19
Posted by 선한열심