Home » Android » list – Get filenames from a directory in Android

list – Get filenames from a directory in Android

Posted by: admin May 14, 2020 Leave a comment

Questions:

I want to populate a spinner with the filenames of files found on the SD card with specific extensions. I can get it thus far to populate the spinner with the correct files, but the path is shown as well.

Can anyone tell me how to only get the filename of a specific file in a directory on the SD card?

How to&Answers:
File sdCardRoot = Environment.getExternalStorageDirectory();
File yourDir = new File(sdCardRoot, "path");
for (File f : yourDir.listFiles()) {
    if (f.isFile())
        String name = f.getName();
        // Do your stuff
}

Have a look at Environment page for more info.

Answer:

Try below code

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
}

Answer:

File filePath= new File(File Address);
File[] fileList = filePath.listFiles();
String name = fileList [0].getName().toString();

Answer:

could you process the string in reverse order(right to left), finding the first slash, then cutting the string at that point and taking the rightmost part of the string as the filename ?

Answer:

use method getName() of file object:

file.getName();

Answer:

Above answers are giving null pointer exception in my case. Following code worked for me:

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