How to get File Name from Uri using a function which take file path as input

File Name From URI Did you know how to get the display name from a file name from Uri or Path? You know what it is very easy to find the name from the file. Here will create a function with the name of getName and provide the path or URI as input to this function and it will return the display file name frURIuri.

File Name from URI

Create Function to get File Name from URI

For getting the File Name from URI we will create a small function which will take the URI as input and return the File Name.  The function is as given below, In this function, we are taking filePath as input to the function. the In the second line of the code we are checking whether given parameter is null or has the length greater than zero. the If the file path is null or length is zero then we will return with null name else we will work further.

  public static String getName(String filePath) {  
     if (filePath == null || filePath.length() == 0) {  
       return "";  
     }  
     int extract = path.lastIndexOf('?');  
     if (extract > 0) {  
       filePath = filePath.substring(0, extract);  
     }  
     int namePos = filePath.lastIndexOf(File.separatorChar);  
     return (namePos >= 0) ? filePath.substring(namePos + 1) : filePath;  
   }  

In next line of code where we are using the variable extract to get the last index of the file name separated by “/”, then using if condition we are checking the value of extract whether it is greater than zero or not because the index of last must be greater than zero.

Then using below code we are extracting the name of the file.

 filePath = filePath.substring(0, extract);  

Then in the last line of our code, we are returning the extracted name of our file. We have used this code in some of the other previous example posted here.

How to use getName function to extract File Name from URI

Here question is that how to use our getName function the in real example. Suppose that we have a file with the name of myfile and we want to get the name of the myfile. Then we will use the function as given below and store the name in some variable and use it.

  String FileName=getName(Uri.fromFile(myfile).toString());  

 

 

Get Email Updates!

Signup now receive an email once I publish new content. I will never give away, trade or sell your email address. You can unsubscribe at any time.

Join 911 other subscribers

Leave a Reply

Close Menu