从Android中的目录获取文件名

从Android中的目录获取文件名,android,list,filenames,Android,List,Filenames,我想用SD卡上具有特定扩展名的文件的文件名填充微调器。到目前为止,我可以用正确的文件填充微调器,但也显示了路径 有人能告诉我如何只获取SD卡目录中特定文件的文件名吗?您能按相反顺序(从右到左)处理字符串,找到第一个斜杠,然后在该点剪切字符串,并将字符串最右边的部分作为文件名吗?使用file object的方法getName(): file.getName(); 查看页面了解更多信息。尝试下面的代码 File sdCard = Environment.getExternalStorageDire

我想用SD卡上具有特定扩展名的文件的文件名填充微调器。到目前为止,我可以用正确的文件填充微调器,但也显示了路径


有人能告诉我如何只获取SD卡目录中特定文件的文件名吗?

您能按相反顺序(从右到左)处理字符串,找到第一个斜杠,然后在该点剪切字符串,并将字符串最右边的部分作为文件名吗?

使用file object的方法getName():

file.getName();
查看页面了解更多信息。

尝试下面的代码

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
}

在我的例子中,上面的答案给出了空指针异常。以下代码适用于我:

File yourDir = new File(Environment.getExternalStorageDirectory().getPath() + "/WhatsApp/Databases");
    for (File f : yourDir.listFiles()) {
        if (f.isFile())
            name = f.getName();
        // Do your stuff
}

在JNI中有没有同样的方法?这段代码给出了NPE。检查下面我的答案。这对我很管用。顺便说一句,加上1的好答案!没有解释就不是很有用&没有解决具体问题(按名称/扩展名筛选)
File filePath= new File(File Address);
File[] fileList = filePath.listFiles();
String name = fileList [0].getName().toString();
File yourDir = new File(Environment.getExternalStorageDirectory().getPath() + "/WhatsApp/Databases");
    for (File f : yourDir.listFiles()) {
        if (f.isFile())
            name = f.getName();
        // Do your stuff
}