Use “lastIndexOf” sobre o nome do arquivo e procure por “.”. Se achar, então efetue um substring a partir da próxima posição. Se não achar, o arquivo não tem extensão.
String fileName = "blablabla.jpg";
String ext[] = fileName.split("\\."); /*tem as barras invertidas porque com expressões regulares o ponto é um caracter especial... Tem que "escapar"este caractere!*/
System.out.println("Extensao = " + ext[1]);
ext[1] supõe que exista exatamente 1 ponto no nome. Se houver dois ou mais pontos, vai pegar a parte errada. Mesma coisa se não houver nenhum ponto (arquivo sem extensão).
[quote=thingol]ext[1] supõe que exista exatamente 1 ponto no nome. Se houver dois ou mais pontos, vai pegar a parte errada. Mesma coisa se não houver nenhum ponto (arquivo sem extensão).
[/quote]
Solução do Problema: [code]public class Extensao{
public static void main(String args[]){
String fileName = "bla.bba.bl.a.jpg";
String ext[] = fileName.split("\\.");
int i = ext.length;
if(i > 1)
System.out.println("Extensao = " + ext[i-1]);
}//main