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

안드로이드 파일경로..

0 추천

     }경로가 전부다 출력되는거죠?.. 하나씩 순차대로 출력할수는없는건가요..?

하나씩 출력해야... 그 파일안에 악성코드가 있는지 없는지 분석해서 백신프로그램을 만들수 있을텐데..

이건모 경로가 전부다 나오니까.. 답이없네요;;

구글 검색해도 안나오고..
헬프미 (5,430 포인트) 님이 2015년 1월 23일 질문
헬프미님이 2015년 1월 24일 수정

1개의 답변

+1 추천
 
채택된 답변
ArrayList<String> _filelist;
        ArrayList<String> _dirlist;

public void getFilePath() {
        String path = Environment.getExternalStorageDirectory().toString();
        _filelist = new ArrayList<String>();
        _dirlist = new ArrayList<String>();

        Log.e("Files", "Path: " + path);
        File f = new File(path);
        File files[] = f.listFiles();
        Log.e("Files", "Size: " + files.length);
        for (int i = 0; i < files.length; i++) {
            if (files[i].isDirectory()) {
                File f1 = new File(files[i].getAbsolutePath());
                //Log.e("Files", "FileName:" + files[i].getName());
                _dirlist.add(f1.getAbsolutePath().toString());
            } else {
                File f1 = new File(files[i].getAbsolutePath());
                //Log.e("Files", "FileName:" + files[i].getName());
                _filelist.add(f1.getAbsolutePath().toString());
            }
        }
        
        for (int i = 0; i < _dirlist.size(); i++) {
            Log.e("Files", "DirName:" + _dirlist.get(i));
        }
        for (int i = 0; i < _filelist.size(); i++) {
            Log.e("Files", "FileName:" + _filelist.get(i));
        }
    }

 

파일리스트와 폴더리스트를 따로 관리하시고 각각 리스트에는 풀패스를 넣어주셔야

나중에 관리를 할 수 있겠지요???
nicehee (73,100 포인트) 님이 2015년 1월 24일 답변
헬프미님이 2015년 1월 24일 채택됨
보통 백신의경우에 폴더랑 파일을 따로검사하나요?
아니면 폴더안에 파일이있으면 다돌고 재귀호출로 처음시작점으로 돌아가 다른폴더를 탐색하고 이런식 인가요?
폴더를 검사할 필요는 없지요..
먼저 재귀호출로 모든 파일에 대한 리스트를 만든후에
리스트에서 하나씩 꺼내서 검사하는 방식이것지요
근데 제가 사용한건 append를 썼는데요
모든파일경로가 한번에 되더라구요
하나씩 꺼내서 차례대로 텍스트뷰에 나타나게 하려면 어떻게 해야될까요?
ArrayList 사용하심됩니다.
...