1. ホーム
  2. android

[解決済み] アンドロイドのディレクトリにあるファイルをリストアップするには?

2022-05-16 07:38:11

質問

これまでの私のコードです。

String path = Environment.getExternalStorageDirectory().toString()+"/Pictures";

        AssetManager mgr = getAssets();

        try {

            String list[] = mgr.list(path);
            Log.e("FILES", String.valueOf(list.length));

            if (list != null)
                for (int i=0; i<list.length; ++i)
                    {
                        Log.e("FILE:", path +"/"+ list[i]);
                    }

        } catch (IOException e) {
            Log.v("List error:", "can't list" + path);
        }

しかし、そのディレクトリにファイルがあるにもかかわらず、list.length = 0と返されます。

どのように解決するのですか?

ファイルにアクセスするためには、マニフェストファイルでパーミッションを指定する必要があります。

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

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

String path = Environment.getExternalStorageDirectory().toString()+"/Pictures";
Log.d("Files", "Path: " + path);
File directory = new File(path);
File[] files = directory.listFiles();
Log.d("Files", "Size: "+ files.length);
for (int i = 0; i < files.length; i++)
{
    Log.d("Files", "FileName:" + files[i].getName());
}