2016-08-10 8 views
0

ディレクトリ内のすべてのファイルを一覧表示しようとしています。Androidファイルが繰り返される

public List<String> MyFiles = new ArrayList<>(); 
dir = "/storage/sdcard0"; 
File f = new File(dir); 

File[] files = f.listFiles(); 
for(File name: files) { 
    MyFiles.add(name.getName()); 
} 
Collections.sort(MyFiles); 

問題は、ほぼすべてのファイルが繰り返されていることである: はここに私のコードです。 インスタンスの場合、.nomediaは2回見つかり、時には1つのファイルしかないと思っていたこともあります。

編集:

は私が正しくVishwesh Jainkuniyaのおかげでファイルをソートするためのコードを変更しましたが、まだ同じ問題のファイルが繰り返されます。

+1

の可能性のある重複した[アンドロイドディレクトリ内のファイルを一覧表示する方法?](http://stackoverflow.com/questions/8646984/how-to-list-ファイル内のアンドロイドディレクトリ) –

答えて

0

Problem-:ソート機能がFile[]

ソリューションには適用されません: -文字列配列を作成し、それを並べ替えます。

this-試してみてください:すべての

まず、ルートディレクトリのパスを取得

String path = Environment.getExternalStorageDirectory().toString();

今すぐpath

path += "";

であなたのディレクトリ名を追加今すぐ入手配列内のファイル

File f = new File(path);   
File file[] = f.listFiles(); 
String[] fileName = new String[file.length]; 
for (int i=0; i < file.length; i++) 
{ 
    fileName[i] = file[i].getName(); 
    Log.d("Files", "FileName:" + file[i].getName()); 
} 

今ソート

Arrays.sort(fileName);

+0

ああ、はい、申し訳ありません。 私はそれを編集しましたが、同じですが、今は正しくソートされていますが、同じ問題です。 問題はf.listFiles()にあります。私は出力をチェックし、名前を繰り返します。 –

関連する問題