2011-12-23 57 views

回答

2

用下面的代碼嘗試,如果目錄

public static ArrayList<String> getAllDirectoriesFromSDCard(Activity activity) { 
     ArrayList<String> absolutePathOfImageList = new ArrayList<String>(); 
     File file[] = Environment.getExternalStorageDirectory().listFiles(); 


     for (File f : file) 
     { 
      if (f.isDirectory()) { 
       absolutePathOfImageList.add(f.getAbsolutePath()); 
       } 
     } 

     // Log.i(TAG,"........Detected images for Grid....." 
     // + absolutePathOfImageList); 
     return absolutePathOfImageList; 
    } 
+0

謝謝你幫我打電話吧。 – 2011-12-23 11:12:04

0

請嘗試以下代碼以獲取列表。

代碼:

System.out.println(" File List Start"); 
File file[] = Environment.getExternalStorageDirectory().listFiles(); 
for (int i=1;i<=file.length;i++){ 
System.out.println(" No. "+i+" : "+file[i-1].getAbsolutePath()); 
} 
System.out.println(" File List End"); 
1

通過所有的目錄,我認爲你的意思是,即使在SD卡的子目錄,以及如果是的話那麼繼承人,你需要做什麼

1)初始化一個ArrayList

private ArrayList<String> allDirectories = new ArrayList<String>(); 

2)複製並粘貼此功能:

public void listAllDirectories(String path) { 

    File tempfile = new File(path); 
    File[] files = tempfile.listFiles(); 

    if (files != null) { 
     for (File checkFile : files) { 
      if (checkFile.isDirectory()) { 
       allDirectories.add(checkFile.getName()); 
       listAllDirectories(checkFile.getAbsolutePath()); 
      } 
     } 
    } 
} 

3)無論你想

listAllDirectories(Environment.getExternalStorageDirectory().toString()); 
    for (int i = 0; i < allDirectories.size(); i++) { 
     System.out.println(allDirectories.get(i)); 
    } 
相關問題