Я хочу просмотреть все файлы на устройстве в поисках всех файлов, заканчивающихся определенным расширением 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"/>