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

Я искал, как получить имя папки (во внутренней SD-карте), содержащей мои музыкальные файлы с устройства, но все примеры, которые я видел, были о том, как получить имя файла, а не папку. Как я могу написать код, который на самом деле динамический, то есть не имеет значения, какой путь к файлу, он всегда получает имя папки (каталога) файла.

В моем приложении я пытаюсь получить имя папки моих музыкальных файлов и сохранить его как строку, используя курсор, который я сделал следующим образом

 ContentResolver musicResolver = getActivity().getContentResolver();
            Uri musicUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
            Cursor musicCursor = musicResolver.query(musicUri, null, null, null, null);

            if (musicCursor != null && musicCursor.moveToFirst()) {
                int pathColumn = musicCursor.getColumnIndex(MediaStore.Audio.Media.DATA);


                counter = 0;
                do {
                    String thisPath = musicCursor.getString(pathColumn);
                    //String folderName = ???

                } while (musicCursor.moveToNext());

Так что это дает мне путь, который выглядит примерно так: /storage/emulated/0/folderName/fileName.ext

Буду благодарен, если кто-нибудь подскажет, как получить имя папки. Приветствия.

2 ответа

Решение

Создайте new File(thisPath) и вызвать getParent() и позвонить getName() в теме

Разобрать его как файл.

File f = new File(thisPath);
f.getParent();
Другие вопросы по тегам