Ответ:
Ошибка — открытый FileReader не закрывается. Это может привести к утечке файлового дескриптора. Для автоматического закрытия ресурсов в конструкции try-with-resources используется интерфейс AutoCloseable; Closeable, который реализует FileReader, является его подинтерфейсом.
Вариант с автоматическим закрытием и обработкой проверяемого исключения:
public void readConfig() throws IOException {
try (FileReader reader = new FileReader("config.txt")) {
int data;
while ((data = reader.read()) != -1) {
System.out.print((char) data);
}
}
}Ресурс объявлен в заголовке try, поэтому Java закрывает его автоматически при выходе из блока — в том числе если во время чтения возникнет исключение. Для компиляции добавьте import java.io.FileReader; и import java.io.IOException;.
Ответ: AutoCloseable (для FileReader также применим его подинтерфейс Closeable); исправленный код использует try-with-resources.
