Android:检查SD卡上的目录

Android:检查SD卡上的目录,android,Android,我只需要列出SD卡上存在的文件 使用以下代码: File sdcard=new File(Environment.getExternalStorageDirectory().getAbsolutePath()); if(sdcard.isDirectory()){ String files[]= sdcard.list(); for(int i=0;i<files.length;i++){ File f=new File(files[i])

我只需要列出SD卡上存在的文件

使用以下代码:

File sdcard=new File(Environment.getExternalStorageDirectory().getAbsolutePath());
if(sdcard.isDirectory()){
      String files[]=  sdcard.list();
      for(int i=0;i<files.length;i++){
            File f=new File(files[i]);

            if(!f.isDirectory())
                Log.d("FILES",files[i]);
      } 
}
File sdcard=新文件(Environment.getExternalStorageDirectory().getAbsolutePath());
if(sdcard.isDirectory()){
字符串文件[]=sdcard.list();
对于(int i=0;i请尝试以下方法:

if(sdcard.isDirectory()){
    File[] files =  sdcard.listFiles();
    for (File f : files){
        if(!f.isDirectory())
            Log.d("FILES",f.getName());
    } 
}  

关键区别在于
sdcard.files()
sdcard.listFiles()

我认为问题在于您需要递归地执行此操作:

File sdcard=Environment.getExternalStorageDirectory();

private void logFiles(File sdcard) {
if(sdcard.isDirectory()){
      File[] files=  sdcard.listFiles();
      for(int i=0;i<files.length;i++){
            if(!f.isDirectory())
                Log.d("FILES",files[i]);
            else
               logFiles(files[i]);
      } 
}
}
File sdcard=Environment.getExternalStorageDirectory();
专用作废日志文件(文件SD卡){
if(sdcard.isDirectory()){
File[]files=sdcard.listFiles();
对于(int i=0;i