logo

Extensão de arquivo Java

O Extensão de arquivo é o sufixo anexado a um arquivo de computador. Ele pode ser facilmente identificado, pois aparece diretamente no nome do arquivo após um ponto (.)

Por exemplo, considere um nome de arquivo Demo.java, aqui o nome do arquivo é Demo e .java é a extensão do arquivo que representa o tipo do arquivo.

Nesta seção, aprenderemos como obter extensão de arquivo através de um programa Java .

Classe de arquivo Java

  • A classe Java File é definida no arquivo esse pacote. Outro novo pacote Java disponível para realizar operações de entrada/saída é o pacote java.nio. É introduzido no JDK4.
  • É usado para executar várias operações de arquivo no programa Java.
  • A classe File possui diferentes métodos e construtores que trabalham com o nome do caminho do arquivo, renomeando um arquivo, excluindo um arquivo, criando um novo arquivo, etc.
  • Para usar esses métodos e construtores, uma instância da classe File precisa ser criada.
  • As instâncias de classe de arquivo são imutáveis, portanto, uma vez que uma instância é criada com um nome de caminho específico, ela não pode ser alterada.

Obtendo extensão de arquivo

Existem duas maneiras de obter extensão de arquivo em Java:

O programa a seguir usa a classe File para identificar a extensão do arquivo especificado que fornecemos como entrada.

FileTypeDemo.java

 import java.io.*; import java.nio.file.Files; public class FileTypeDemo { /* Driver Code */ public static void main(String ar[]) { /* declaring a File instance with path of the File */ File f = new File('C:/Users/WIN 8.1/Desktop/demo.txt'); /* If file exists */ if(f.exists()) { String fType = 'Undetermined'; String fName = f.getName(); String extension = ''; int i = fName.lastIndexOf('.'); if (i > 0) { extension = fName.substring(i + 1); } try { fType= Files.probeContentType(f.toPath()); } catch (IOException ioException) { System.out.println('Cannot determine type of file '+ f.getName()+ ' due to the exception: '+ ioException); } /* Print the file extension. */ System.out.println('File Extension used is: ' + extension + ' and is probably ' + fType); } else { System.out.println('File does not exist!'); } } } 

Saída:

Extensão de arquivo Java

No programa Java acima,

  1. Uma instância f da classe File do esse pacote é criado. Ele cria uma instância do caminho passado para o construtor.
  2. Na próxima linha, uma instrução if é usada para verificar se o arquivo existe ou não. Se for verdade, criará as variáveis ​​para armazenar o tipo de arquivo, nome e extensão do arquivo.
  3. lastIndexOf() O método retorna a última ocorrência do caractere passado como argumento. substring() O método é usado para obter a extensão do arquivo após o ponto (.) probeContentType() método do nove pacote retorna uma string do tipo de conteúdo. Pode lançar um IOException , portanto, é especificado dentro de um bloco try-catch.
  4. E por último, a extensão do arquivo e o tipo de conteúdo são exibidos no console usando um imprimir()

Usando o Apache Commons IO

Apache Commons IO é o componente do Apache derivado da API Java. Eles fornecem vários métodos para executar diferentes operações em arquivos sem criar um objeto do arquivo. No programa a seguir usamos o Nome do arquivoUtils.getExtension() método para obter a extensão do arquivo.

GetFileExtensionApache,java

 import java.io.IOException; import org.apache.commons.io.FilenameUtils; public class GetFileExtensionApache { /* Driver Code */ public static void main(String []args) { try { usingFilenameUtils(); } catch(IOException e) { System.out.println(e.getMessage()); } } public static void usingFilenameUtils() throws IOException { String path = 'C:/Users/WIN 8.1/Desktop/demo.txt'; System.out.println('Extension: ' + FilenameUtils.getExtension(path)); } } 

Saída:

 Extension: txt 

No programa Java acima, getExtensão() método do Nome do arquivoUtils class é usada para obter a extensão do arquivo sem criar o objeto de arquivo.