How do I get the file name from a String containing the Absolute file path?
String
variable contains a file name, C:\Hello\AnotherFolder\The File Name.PDF
. How do I only get the file name The File Name.PDF
as a String?
I planned to split the string, but that is not the optimal solution.
Solution 1:
just use File.getName()
File f = new File("C:\\Hello\\AnotherFolder\\The File Name.PDF");
System.out.println(f.getName());
using String methods:
File f = new File("C:\\Hello\\AnotherFolder\\The File Name.PDF");
System.out.println(f.getAbsolutePath().substring(f.getAbsolutePath().lastIndexOf("\\")+1));
Solution 2:
Alternative using Path
(Java 7+):
Path p = Paths.get("C:\\Hello\\AnotherFolder\\The File Name.PDF");
String file = p.getFileName().toString();
Note that splitting the string on \\
is platform dependent as the file separator might vary. Path#getName
takes care of that issue for you.