Можно также использовать более объектно-ориентированный подход, чтобы дать вам немного больше информации о типе файла. Я могу представить, что это будет полезно позже в вашей программе.
Вы можете сделать что-то вроде объявления всех ваших типов файлов в Enum
:
public enum FileType {
IMAGE("a"),
VIDEO("b"),
ARCHIVE("c"),
JAR("d"),
AUDIO("e"),
ZIP("f"),
XTAR("g");
private String str;
FileType(String str) {
this.str = str;
}
public String getStr() {
return str;
}
public static FileType getFileTypeForStr(String str) {
for (FileType fileType : FileType.values()) {
if (fileType.getStr().equalsIgnoreCase(str)) {
return fileType;
}
}
return null;
}
}
Затем в своей функции вы можете заменить все свои Booleans
проверкой, чтобы увидеть, является ли введенный вами String1
тип файла для включения:
FileType fileType = FileType.getFileTypeForStr(String1); //And String2, String3, String4...
if (fileType != null) {
System.out.printf("File type found of type %s", fileType.name());
} else {
System.out.printf("No file type found for input %s", String1);
}
Поскольку у вас есть 7 различных строк для проверки, вы можете добавить простую проверку, чтобы проверить, все ли переменные String1
совпадают:
boolean isNotFileType = Stream
.of(String1, String2, String3, String4, String5, String6, String7)
.map(FileType::getFileTypeForStr)
.anyMatch(Objects::isNull);