Как динамически получить имя папки музыкального файла (или любого файла)
Я искал, как получить имя папки (во внутренней 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();