如何动态获取音乐文件(或任何文件)的文件夹名称

时间:2014-06-13 01:30:46

标签: java android directory android-music-player

我一直在搜索如何从设备获取包含我的音乐文件的文件夹(在内部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

如果有人能告诉我如何获取folderName,我将感激不尽。 欢呼声。

2 个答案:

答案 0 :(得分:4)

创建new File(thisPath)并调用getParent()并在其上调用getName()

答案 1 :(得分:1)

将其解析为文件。

File f = new File(thisPath);
f.getParent();