Neste exemplo, aprenderemos a obter a extensão do arquivo em Java.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:
- Classe de arquivo Java
- String Java lastIndexOf ()
- Substring Java String ()
Exemplo 1: Programa Java para obter a extensão do arquivo
import java.io.File; class Main ( public static void main(String() args) ( File file = new File("Test.java"); // convert the file name into string String fileName = file.toString(); int index = fileName.lastIndexOf('.'); if(index> 0) ( String extension = fileName.substring(index + 1); System.out.println("File extension is " + extension); ) ) )
No exemplo acima,
- file.toString () - Converte o
File
objeto em uma string. - fileName.lastIndexOf ('.') - Retorna a última ocorrência do caractere. Uma vez que todas as extensões de arquivo começam com '.' , usamos o caractere '.' .
- fileName.substring () - Retorna a string após o caractere '.' .
Exemplo 2: obtenha a extensão de todos os arquivos presentes em um diretório
Agora, suponha que desejamos obter a extensão de todos os arquivos presentes em um diretório. Podemos usar o processo acima no loop.
import java.io.File; class Main ( public static void main(String() args) ( File directory = new File("Directory"); // list all files present in the directory File() files = directory.listFiles(); System.out.println("Files Extension"); for(File file : files) ( // convert the file name into string String fileName = file.toString(); int index = fileName.lastIndexOf('.'); if(index> 0) ( String extension = fileName.substring(index + 1); System.out.println(fileName + " " + extension); ) ) ) )
Resultado
Files Extension Directory file1.txt txt Directory file2.svg svg Directory file3.java java Directory file4.py py Directory file5.html html
Nota : A saída do programa depende do diretório que você usa e dos arquivos no diretório.
- Se você estiver usando a Biblioteca Gauva, pode usar diretamente o
getFileExtension()
método para obter a extensão do arquivo. Por exemplo,String fileName = "Test.java"; String extension = Files.getFileExtension(fileName);
- Além disso, o Apache Commons IO fornece a classe FilenameUtils fornece o método getExtension para obter a extensão do arquivo.
String extension = FilenameUtils.getExtension("file.py") // returns py