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:
No programa Java acima,
- Uma instância f da classe File do esse pacote é criado. Ele cria uma instância do caminho passado para o construtor.
- 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.
- 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.