이것이 리커시브(재귀호출-자신의 메소드에서 자신의 메소드콜)입니다.
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;
}
폴더를 검사할 필요가 없으니 전체 파일목록만 가져오면 되것지요
