Получить имена файлов из каталога в Android - PullRequest
10 голосов
/ 12 января 2012

Я хочу заполнить счетчик именами файлов, найденных на SD-карте, с определенными расширениями. До сих пор я могу получить это, чтобы заполнить счетчик правильными файлами, но путь также показан.

Может кто-нибудь сказать мне, как получить только имя файла определенного файла в каталоге на SD-карте?

Ответы [ 6 ]

26 голосов
/ 12 января 2012
File sdCardRoot = Environment.getExternalStorageDirectory();
File yourDir = new File(sdCardRoot, "path");
for (File f : yourDir.listFiles()) {
    if (f.isFile())
        String name = f.getName();
        // Do your stuff
}

Подробнее смотрите на странице Окружающая среда .

3 голосов
/ 12 января 2012

Попробуйте код ниже

File sdCard = Environment.getExternalStorageDirectory();
File dir = new File(sdCard, "yourpath");
for (File f : dir.listFiles()) {
    if (f.isFile())
        String name = f.getName();
        // do whatever you want with filename
}
2 голосов
/ 15 мая 2016
File filePath= new File(File Address);
File[] fileList = filePath.listFiles();
String name = fileList [0].getName().toString();
0 голосов
/ 09 ноября 2016

Выше ответы дают исключение нулевого указателя в моем случае. Следующий код работал для меня:

File yourDir = new File(Environment.getExternalStorageDirectory().getPath() + "/WhatsApp/Databases");
    for (File f : yourDir.listFiles()) {
        if (f.isFile())
            name = f.getName();
        // Do your stuff
}
0 голосов
/ 12 января 2012

использовать метод getName () файлового объекта:

file.getName();
0 голосов
/ 12 января 2012

не могли бы вы обработать строку в обратном порядке (справа налево), найти первую косую черту, затем вырезать строку в этой точке и взять самую правую часть строки в качестве имени файла?

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