2011-12-23 68 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)); 
    } 
相关问题