Files.walkTree и File.list () на android устройстве или эмуляторе - PullRequest
2 голосов
/ 26 мая 2020

Я хочу просмотреть все файлы на устройстве в поисках всех файлов, заканчивающихся определенным расширением c. Если у меня нет доступа к определенной папке c, это нормально, я хочу пропустить и перейти к следующему ... у меня есть код для выполнения только этих файлов Files.walkTree и File.list (), проблема в том, что я получаю accessdeniedexception и File.list возвращает null. Итак, мой вопрос в Java, как искать на устройстве файлы, заканчивающиеся заданным расширением.

Обратите внимание: у меня есть код, работающий правильно на моем P C тот же код не работает на моем устройство или эмулятор

            File f = Paths.get("/storage/self/primary/").toFile();
        String files [] =f.list();
        if (files!=null) {
            Log.v(LOG_TAG,"clickRefresh..files array not null.."+files.length);
            // For each pathname in the pathnames array
            for (String pathname : files) {
                // Print the names of files and directories
                Log.v(LOG_TAG, "list=" + pathname);
            }
        }
        else{
            Log.v(LOG_TAG,"clickRefresh..so the files is null...");
        }

Приведенный выше код возвращает нулевые пути ... а также приведенный ниже код не работает на устройстве или эмуляторе, но его хорошо на моем P C (без Log.v)

Files.walkFileTree(source, new MyFileVisitor());

Ниже приведены мои разрешения:

    <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

1 Ответ

0 голосов
/ 11 июня 2020

оказалось, что это проблема с разрешением, единственная папка, которую я могу сканировать или делать что-либо, - это / data / local / tmp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...