我一直在搜索如何从设备获取包含我的音乐文件的文件夹(在内部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,我将感激不尽。 欢呼声。
答案 0 :(得分:4)
创建new File(thisPath)
并调用getParent()
并在其上调用getName()
答案 1 :(得分:1)
将其解析为文件。
File f = new File(thisPath);
f.getParent();