2011-08-15 2 views
0

私はsdcardに存在するファイルのみをリストする必要があります。次のコードでAndroid:sdcardのディレクトリを確認する

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]); 
     } 
} 

私はログにもサブディレクトリを参照してください。何が間違っているのですか?主な違いは、sdcard.files()sdcard.listFiles()ある

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

答えて

1

はこれを試してみてください。

1

私はこの問題は、あなたが再帰的にこれを実行する必要があるということだと思う:

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]); 
     } 
} 
} 

を、私はこれをテストしていませんが、それ以外の最後はおそらくあるあなたが欠落していた、あなたがするlistFilesを見つけるかもしれないものより良い選択、ここで、しかし、あなたは私がここに残ったので、Fileではなく、ファイル名を記録する必要があります。

関連する問題