Получение всех файлов .pdf из внешнего хранилища на Android - PullRequest
0 голосов
/ 23 января 2012

Я пытаюсь получить все PDF рекурсивно из внешнего хранилища. То, что я хотел бы иметь, это интерфейс, подобный устройству чтения PDF, то есть он загружает файлы асинхронно и отображает каждое имя каталога в разделителе. У меня есть разделительная часть, но теперь мне нужна загрузка.

Какие-нибудь советы по этому поводу? Я знаю, что мне нужно просто перебрать все файлы, проверить, является ли файл каталогом, и снова запустить рекурсивный алгоритм, но как написать это, чтобы показать только файлы .pdf?

Ответы [ 3 ]

2 голосов
/ 23 января 2012
private static void searchFolderRecursive1(File folder) {
    if (folder != null) {
        if (folder.listFiles() != null) {
            for (File file : folder.listFiles()) {
                if (file.isFile()) {
                    if(file.getName().contains(".pdf")){
                        Log.v("ooo", "path__="+file.getName());
                    }
                } else {
                    searchFolderRecursive1(file);
                }
            }
        }
    }
}
0 голосов
/ 30 августа 2017

Попробуйте использовать ContentResolver с Курсор и MediaStore.Files.FileColumns.MIME_TYPE в качестве "pdf".

0 голосов
/ 23 января 2012

Я знаю, что мне нужно просто перебрать все файлы, проверить, являются ли файлы каталогом, и снова запустить рекурсивный алгоритм, но как написать это, чтобы показать только файлы .pdf?

Посмотрите на имя файла и посмотрите, оканчивается ли оно на .pdf, возможно, используя FilenameFilter, как показано здесь .

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