3

外部ストレージにあるすべてのファイルを見たかったのですが、テキストをユーザーに表示するこのライブラリがありますが、それを使用してサブファイルを表示すると、次のように表示されます
(Ljava.File;@
:実際のファイルの名前をユーザーに表示しますか? また、特定のフォルダの名前をユーザーに表示するにはどうすればよいですか? ファイル#3と言いますか?

File[] files = myDir.listFiles();
UIHelper.displayText(this, R.id.textView1, files.toString());
4

3 に答える 3

4

これは、ExternalStorage からファイルとフォルダーのリストを印刷するためのコードです。

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

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

Androidマニフェストに以下の許可を入れることを忘れないでください

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
于 2015-06-11T05:31:55.167 に答える
1

再帰的な方法を使用して、すべての SD カードをスキャンできます。

String sdCardState = Environment.getExternalStorageState(); 
if( !sdCardState.equals(Environment.MEDIA_MOUNTED ) ) {
    //displayMessage("No SD Card.");
    return;
} else {
    File root = Environment.getExternalStorageDirectory();
    lookForFilesAndDirectories(root);
}

// lookForFilesAndDirectories() method:

public void lookForFilesAndDirectories(File file) {
    if( file.isDirectory() ) {
        String[] filesAndDirectories = dir.list();
        for( String fileOrDirectory : filesAndDirectories) {
            File f = new File(dir.getAbsolutePath() + "/" + fileOrDirectory);
            lookForFilesAndDirectories(f);
        } 
    } else {
        doSomethingWithFile(f);
    }
}
于 2013-04-10T07:53:11.307 に答える