차근차근/JAVA JSP

[JAVA] 폴더 내 파일과 폴더 안 폴더(하위폴더)의 파일까지 출력하기

예쁜꽃이피었으면 2014. 11. 20. 10:10

http://blog.naver.com/PostView.nhn?blogId=centry1201&logNo=220086055295


// 하위폴더 파일들을 뽑아올 필요가 있다.

// 내가 하는 프로젝트에서는 그러하다;;ㅋㅋㅋㅋㅋㅋ

 

 

public class preView2 {

 

public static void main(String[] args) {

//      File directory = new File(args[0]);

        File directory = new File("C:\\Users\\Public\\Music\\Sample Music");  //검색할 폴더

       

        /** 지정한 디렉토리 하위 파일의 갯수 **/

        File[] childs = directory.listFiles(new FileFilter() {

            public boolean accept(File pathname) { return pathname.isFile(); }

        });

 

//childs.length가 해당 폴더 안의 파일+하위폴더 갯수를 뜻한다.       .

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

         String childName = childs[i].toString().toLowerCase();

 

// 하위폴더와 필요없는 파일들을 제외하고 필요한 음악파일들만 출력한다.

         if((childName.endsWith(".mp3"))||(childName.endsWith(".mp4"))||(childName.endsWith(".wma"))||(childName.endsWith(".ogg"))) {

         System.out.println(childs[i]);

         }

        }

        

 

        /** 지정한 디렉토리 하위 디렉토리 **/

        childs = directory.listFiles(new FileFilter() {

            public boolean accept(File pathname) { return pathname.isDirectory(); }

        }

        );

    

     

    

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

            File[] childchilds = childs[i].listFiles(new FileFilter() {

                public boolean accept(File pathname) { return pathname.isFile(); }

            });

            

// 하위폴더 안에 파일이 있다면~~

            if(childchilds != null) {

               // System.out.println(childs[i] + " : (" + childchilds.length +")");

             for(int j=0 ; j<childchilds.length ; j++) {

             String childName = childchilds[j].toString();

            

             if((childName.toLowerCase().endsWith(".mp3"))||(childName.toLowerCase().endsWith(".mp4"))||(childName.toLowerCase().endsWith(".wma"))||(childName.toLowerCase().endsWith(".ogg"))) {

             System.out.println(childName);

             }

                }

            }

        }

    }

 

 


반응형