(Without including any external libraries.)
What's the most efficient way to remove the extension of a filename in Java, without assuming anything of the filename?
Some examples and expected results:
(or should the last one be just hidden?)
Edit: The original question assumed that the input is a filename (not a file path). Since some answers are talking about file paths, such functions should also work in cases like:
This particular case is handled very well by Sylvain M's answer.
Using common io from apache http://commons.apache.org/io/
public static String removeExtension(String filename)
FYI, the source code is here:
http://commons.apache.org/proper/commons-io/javadocs/api-release/src-html/org/apache/commons/io/FilenameUtils.html#line.1025
Arg, I've just tried something...
System.out.println(FilenameUtils.getExtension(".polop")); // polop System.out.println(FilenameUtils.removeExtension(".polop")); // empty string
So, this solution seems to be not very good... Even with common io, you'll have to play with removeExtension() getExtension() indexOfExtension()...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With