Введение
В этом пошаговом практическом занятии мы узнаем, как получить расширение файла на языке программирования Java. Расширение файла указывает на его тип, что помогает нам различать между различными типами файлов, такими как pdf, txt, doc и т.д. Получение расширения файла имеет значение при работе с файлами, так как позволяет убедиться, что файлы правильного типа обрабатываются правильно.
Создайте файл Java
Создайте новый файл Java с помощью следующей команды:
touch ~/project/FileExtension.java
Определите класс Java
import java.io.IOException;
public class FileExtension {
public static void main(String[] args) throws IOException {
}
}
Определите главный метод
В этом шаге мы определим метод main для приема имени файла от пользователя и извлечения его расширения.
import java.io.IOException;
public class FileExtension {
public static void main(String[] args) throws IOException {
if (args.length > 0) {
String filename = args[0];
int index = filename.lastIndexOf(".");
if (index > 0) {
String extension = filename.substring(index + 1);
System.out.println("File extension: " + extension);
} else {
System.out.println("No file extension found");
}
} else {
System.out.println("Please provide a filename");
}
}
}
В вышеприведенном блоке кода мы проверяем, предоставлено ли имя файла пользователем. Если имя файла не предоставлено, будет предложено пользователю ввести его. Затем мы используем метод lastIndexOf() для получения индекса последней точки в имени файла, которая отмечает начало расширения. Если в имени файла не найдена точка, это означает, что у файла нет расширения. В обоих случаях мы информируем пользователя с помощью вывода в командной строке.
Компилируйте код Java
Для компиляции кода Java выполните следующую команду в терминале:
javac ~/project/FileExtension.java
Запустите программу Java
Для запуска программы Java выполните следующую команду:
java FileExtension filename.extension
где 'filename.extension' - это путь и имя файла, расширение которого вы хотите получить.
Тестируйте программу Java
Протестируем программу, выполнив ее несколько раз с разными расширениями файлов:
java FileExtension document.txt
java FileExtension image.png
java FileExtension music.mp3
Работа с несколькими расширениями файлов
Файл может иметь несколько расширений, разделенных точкой, например,.tar.gz или.tar.bz2. В таких случаях мы можем изменить код из шага 3 следующим образом.
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
if (args.length > 0) {
String filename = args[0];
int index = filename.indexOf(".");
int lastIndex = filename.lastIndexOf(".");
if (index > 0 && lastIndex > 0 && lastIndex > index) {
String extension = filename.substring(lastIndex + 1);
System.out.println("File Extension:." + extension);
} else {
System.out.println("No file extension found");
}
} else {
System.out.println("Please provide a filename");
}
}
}
В вышеприведенном блоке кода мы сначала проверяем, содержит ли имя файла несколько точек для идентификации нескольких расширений. Если несколько точек найдены, мы извлекаем последнее расширение, используя метод lastIndexOf() с дополнительным +1 для удаления символа точки.
Компилировать код Java
Скомпилируйте код Java с использованием следующей команды в терминале:
javac ~/project/FileExtension.java
Тестировать программу на Java
Протестируем программу, выполнив ее с несколькими расширениями файлов следующим образом:
java FileExtension document.pdf
java FileExtension image.png
java FileExtension music.mp3
java FileExtension archive.tar.gz
Резюме
В этом практическом занятии мы научились извлекать расширение файла на языке программирования Java. Мы написали программу на Java, которая принимает от пользователя имя файла и извлекает его расширение для определения его типа. Мы показали, как обрабатывать файлы с несколькими расширениями с использованием методов indexOf() и lastIndexOf().



