В этом примере мы научимся получать расширение файла на Java.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Класс файла Java
- Строка Java lastIndexOf ()
- Подстрока Java String ()
Пример 1: Программа Java для получения расширения файла
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); ) ) )
В приведенном выше примере
- file.toString () - преобразует
File
объект в строку. - fileName.lastIndexOf ('.') - возвращает последнее вхождение символа. Поскольку все расширения файлов начинаются с '.' , мы используем символ '.' .
- fileName.substring () - возвращает строку после символа '.' .
Пример 2: Получить расширение всех файлов в каталоге
Теперь предположим, что мы хотим получить расширение всех файлов, находящихся в каталоге. Мы можем использовать описанный выше процесс в цикле.
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); ) ) ) )
Вывод
Каталог расширения файлов file1.txt txt Directory file2.svg svg Directory file3.java java Directory file4.py Каталог py file5.html html
Примечание . Результат работы программы зависит от используемого вами каталога и файлов в нем.
- Если вы используете библиотеку Gauva, вы можете напрямую использовать этот
getFileExtension()
метод для получения расширения файла. Например,String fileName = "Test.java"; String extension = Files.getFileExtension(fileName);
- Кроме того, IO Apache Commons предоставляет класс FilenameUtils, который предоставляет метод getExtension для получения расширения файла.
String extension = FilenameUtils.getExtension("file.py") // returns py