Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to extract the file name from a file URI and create a link for the same?

Tags:

java

filepath

My problem is ::

From a string like "/usr/folder1/folder2/filename.ext"

  • I have to extract out file name only for display (filename.ext only).
    • My question would be how should I do it? Splitting on "/" and taking the last element is one way but doesn't smell nice to me.
  • I have to create a hyperlink which uses URI of the file as the destination. That will be something similar to file://domain.com/usr/folder1/folder2/filename.ext

I looked at URI and URL interfaces in java.net but could not find anything useful there.

Also, in some cases, my file path can have COMMA, SPACE etc (Windows folders). So, keep that in mind when giving any ideas.

like image 297
Jagmal Avatar asked Jan 27 '09 07:01

Jagmal


3 Answers

You could try something like this:

File file = new File("/usr/folder1/folder2/filename.ext");
System.out.println(file.getName());

I wasn't sure whether this would work if the file does not exist, but have just tried it and it appears to work OK.

like image 152
trilobite Avatar answered Sep 29 '22 12:09

trilobite


CommonsIO provides solutions for this problem: FilenameUtils.getName(), returns the file name + extension.

String filename = FilenameUtils.getName("/usr/folder1/folder2/filename.ext");
System.out.println(filename); // Returns "filename.ext"
like image 25
schnatterer Avatar answered Sep 29 '22 13:09

schnatterer


You should have a look to the File class. Especially to the getName() method.

like image 27
Nicolas Avatar answered Sep 29 '22 12:09

Nicolas