Как завернуть метод поиска файла в блок try-catch?
Написал метод, который ищет файл по заданному пути и имени файла. Как можно завернуть в блок try-catch ошибку FileNotFoundException? Попробовал завернуть и пишет ошибку:
Exception 'java.io.FileNotFoundException' is never thrown in the corresponding try block
Вот сам код:
public static boolean findFile(String path, String filename) throws FileNotFoundException {
boolean fileExists = false;
File f = new File(path);
File[] files = f.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].toString().equals(path + "\\" + filename) && files[i].isFile()) {
fileExists = true;
System.out.println("Файл найден");
return fileExists;
} else {
System.out.println("Файл не найден, проверьте правильность ввода пути и названия файла");
}
}
return fileExists;
}
Ответы (1 шт):
Автор решения: George_A
→ Ссылка
Выражение: f.listFiles() вернет null если файла f нет.
Таким образом исключение FileNotFoundException не может быть выброшено. А будет выброшено NUllPointerException в строке files.length
Если вы хотите обработать эту ситуацию добавьте проверку на null.
File[] files = f.listFiles();
if(files == null) {
// do something
}