마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 파일경로..출력

0 추천
답변 꼭 부탁드리겠습니다..

 

 

헬프미 (5,430 포인트) 님이 2015년 1월 25일 질문
헬프미님이 2015년 2월 12일 수정

1개의 답변

0 추천
 
채택된 답변

이것이 리커시브(재귀호출-자신의 메소드에서 자신의 메소드콜)입니다.

    ArrayList<String> fList;

    private void printFileList() {
        fList = new ArrayList<String>();
        String path = Environment.getExternalStorageDirectory().toString();
        fList.addAll(getFileList(path));
        
        Log.e("path", ""+fList.size());
        for(int i=0;i<fList.size();i++) {
            Log.e("path", ""+fList.get(i));
        }
    }
    
    private ArrayList<String> getFileList(String folder) {
        ArrayList<String> fileList = new ArrayList<String>();
        File[] files=new File(folder).listFiles();
        for(int i=0;i<files.length;i++)
        {
            if(files[i].isDirectory())
                fileList.addAll(getFileList(files[i].getPath()));
            else if(files[i].isFile())
                fileList.add(files[i].getPath());
        }
        return fileList;
    }

폴더를 검사할 필요가 없으니 전체 파일목록만 가져오면 되것지요

nicehee (73,100 포인트) 님이 2015년 1월 26일 답변
헬프미님이 2015년 2월 12일 채택됨
목록을 가지고 오는동시에 악성코드 검사도 가능한가요?
근데 목록이 변하는걸 보여주려면 어떻게해야되나요?
목록이 3000개가 넘는다고 해도 금방가져옵니다
(혹시 엄청나게 많을것을 대비해서 안전하게 스레드에서 가져오는 방법도)
목록이 변하는것을 보여주고 싶으면
텍스트뷰에 보여줄때 한번에 하나씩 보여주되 딜레이를 주심 되실것으로
안드로이드 질문이요......
...