Como obter a extensão de arquivo em java

Postado em por Wolmir Cezer Garbin em Java | 151 Visualizações
Última atualização em:

Veja neste post como obter a extensão de um arquivo em java

Todo mundo tem algo para vender, AnuncieOn.com o melhor site de anúncios grátis de todo o Brasil. ABRIR

A extensão de um arquivo em java pode ser obtida a partir do nome do arquivo. Existem várias formas de se fazer isso. Mostrarei duas que considero serem as mais relevantes.

Obter a extensão de arquivo com substring

A primeira forma é simples e pratica de se usar, e não requer nenhuma biblioteca de terceiros. Esta solução é ótima se você quer algo simples e rápido para seu código. Veja:

String arquivo01 = "/home/wolmir/arquivo de teste.txt";
String extensaoDoArquivo = arquivo01.substring(arquivo01.lastIndexOf(46) + 1);
System.out.println(extensaoDoArquivo);

String arquivo02 = "/home/wolmir/arquivo sem extensao";
if (arquivo02.contains(".")) {
    extensaoDoArquivo = arquivo02.substring(arquivo02.lastIndexOf(46) + 1);
    System.out.println(extensaoDoArquivo);
}
        
String arquivo03 = "/home/wolmir/arquivo de imagem.png";
extensaoDoArquivo = arquivo03.substring(arquivo03.lastIndexOf(46) + 1);
System.out.println(extensaoDoArquivo);

Note que utilizamos substring para obter a extensão e quando não existe a extensão no nome do arquivo precisamos fazer uma condição ou retornaria o nome completo do arquivo.



A saída para este código é:
txt
png

Obter a extensão de arquivo com FilenameUtils

O FilenameUtils faz parte da biblioteca do Apache Commons IO e pode ser adicionada ao projeto utilizando a seguinte dependência:

<dependency>
		<groupId>commons-io</groupId>
		<artifactId>commons-io</artifactId>
		<version>2.6</version>
</dependency>

Note, hoje a dependência mais atual é a 2.6.

A partir disso podemos escrever nosso código de forma mais simples, pois não é necessário utilizar substring ou verificações pois a biblioteca já trata possiveis erros, veja:

String arquivo01 = "/home/wolmir/arquivo de teste.txt";
String extensaoDoArquivo = FilenameUtils.getExtension(arquivo01);
System.out.println(extensaoDoArquivo);

String arquivo02 = "/home/wolmir/arquivo sem extensao";
extensaoDoArquivo = FilenameUtils.getExtension(arquivo02);
System.out.println(extensaoDoArquivo);

String arquivo03 = "/home/wolmir/arquivo de imagem.png";
extensaoDoArquivo = FilenameUtils.getExtension(arquivo03);
System.out.println(extensaoDoArquivo);

Rodando o código obtemos o seguinte retorno:

txt

png

Note que no segundo nome, como não tem extensão, retornou um valor vaziu.

Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.


Wolmir Cezer Garbin

Wolmir Cezer Garbin


Sou formado em Desenvolvimento de Sistemas para Internet pela faculdade Mater Dei e Pós graduado em Desenvolvimento de sistemas em Java pela UTFPR. Trabalho a mais de 9 anos com desenvolvimento em Java, Android e Web utilizando as principais tecnologias do mercado. Atuo como professor na faculdade Mater Dei, programador na Garbo Software e criador do Receitas de Código.

Ver mais

FIQUE POR DENTRO

Receba as novidades todo mês em seu e-mail!

Apoiadores


Publique seu post no Receitas de Código

Agora você pode publicar seu post no Receitas de Código e compartilhar seu conhecimento com muitas pessoas!

Quero publicar