Собственно вопрос в названии. Хочу найти все пути к JPG файлам на устройстве. Код тестирую на 4х устройствах, на 2х получаю ошибку, на 1 все работает как часы, на 4м ошибка перманентная.
Ищу файлы следующим образом:
public void findFile(File dir) throws IOException {
if (dir.isDirectory()) {
File[] files = dir.listFiles();
for (File file : files) {
NumberFor++;
try {
if (file.isDirectory()) {
findFile(file);
}
}
catch (Exception e){
Toast.makeText(this,String.valueOf(e.getMessage()),Toast.LENGTH_SHORT).show();
}
}
for (File file : files) {
if (file.isFile()) { //проверяем, файл ли это
String fileName = file.getName();
String ext = fileName.substring(fileName.lastIndexOf('.') + 1,
fileName.length());
if (ext.equalsIgnoreCase("JPG")) {
fileList.add(file.getAbsolutePath());
}
}
}
}
}
Ищу все файлы по адресу "/"
В логах ругается на nullpointerexception в методе isDirectory(). При ручном дебаге проходит более 100 циклов (дальше не мерил), похоже находит папку, которую не может прочитать.
Как побороть, подскажите.