Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
#1

Узнать имена всех txt файлов в папке - Android

24.09.2016, 12:36. Просмотров 185. Ответов 6
Метки нет (Все метки)

нужно прочитать содержимое всех тхт файлов в папке
то есть в идеале получить ArrayList с именами файлов

открывать планирую через

Java
1
File file = new File(Environment.getExternalStorageDirectory().toString(), "имяфайла.txt");
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2016, 12:36     Узнать имена всех txt файлов в папке
Посмотрите здесь:

Android Как получить доступ к элементу в папке по имени?
Android Как реализовать чтение txt файлов из папки по порядку?
Android Подпапки в папке layout
Может ли в папке jni быть несколько заголовочных файлов? Android
Доступ к общей папке Android
Android Как перезаписать,создать путь к папке с кешом
Как получить путь к папке, в которой находится приложение? Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
24.09.2016, 13:43     Узнать имена всех txt файлов в папке #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Java
1
2
3
4
5
6
7
8
9
10
11
12
public static ArrayList<String> getFileList(String path) {
        if (!isExternalAvailable()) return null;
        ArrayList<String> ret = new ArrayList<String>();
        File file = new File(Environment.getExternalStorageDirectory() + "/" + path);
        if (file.listFiles() != null) {
            File[] listOfFiles = file.listFiles();
            for (int i = 0; i < listOfFiles.length; i++) {
                ret.add(listOfFiles[i].getName().toString());
            }
        }
        return ret;
    }
Добавлено через 15 минут
Ах да, немного добавить:

Java
1
2
3
4
String s = listOfFiles[i].getName().toString();
if (s.substring(s.length() - 4).equals(".txt")) {
    ret.add(listOfFiles[i].getName().toString());
}
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
24.09.2016, 17:16  [ТС]     Узнать имена всех txt файлов в папке #3
Спасибо большое! Отлично работает!!!
Единственно, что , я не понял строчку
Java
1
if (!isExternalAvailable()) return null;
и закомментировал ее. на работе кода не отразилось. Что значит это строчка?
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
24.09.2016, 18:36     Узнать имена всех txt файлов в папке #4
Типа флешка недоступна
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
24.09.2016, 19:12  [ТС]     Узнать имена всех txt файлов в папке #5
у меня с ним ошибка cannotresolve method isExternalAvailable
если закоментировать то все отлично.
Может проверку сделать как то иначе можно.
Кстати файлы читаются не с sd а из памяти телефона
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
24.09.2016, 20:07     Узнать имена всех txt файлов в папке #6
Извиняюсь, у меня этот метод отдельно написан, автоматом строчку всунул.
Java
1
2
3
public static boolean isExternalAvailable() {
    return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
}
Добавлено через 40 секунд
Если не с флешки, можно выкинуть эту проверку.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2016, 20:29     Узнать имена всех txt файлов в папке
Еще ссылки по теме:

Android Список файлов в папке. listFiles() вызывает NullPointerException
Не удается считать список файлов в папке на хостинге ftp с использолванием AsyncTask Android
Узнать размер всех данных в SQLite Android
Android Android studio, сменить путь к папке avd
Android IDE не видит файл .png в папке drawable

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
24.09.2016, 20:29  [ТС]     Узнать имена всех txt файлов в папке #7
Вот теперь все понятно! Спасибо!
Yandex
Объявления
24.09.2016, 20:29     Узнать имена всех txt файлов в папке
Ответ Создать тему
Опции темы

Текущее время: 21:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru