Выбрасывает исключение FileNotFoundException при работе с объектом FileReader
Осваиваю ввод-вывод по "Java. Руководство для начинающих" Шилдта.
Cтолкнулся с проблемой при создании справочной системы.
Есть пакет Directory:
directory.txt - содержит справку с пометками "#"
DirectoryTest.java - содержит классы для поиска в directory.txt
В методе showInfo() при создании объекта класса FileReader выбрасывает исключение FileNotFoundException. Он не видит directory.txt Как исправить?
class Help { //Работа со справочной системой directory.txt
String directory_name; //имя справочника
Help(String input_name)
{
directory_name = input_name;
}
boolean showInfo(String input_theme) //отображение информации по теме
{
int ch;
String topic, info;
try(BufferedReader buffer_file =
new BufferedReader(new FileReader(directory_name)))
{
do {
ch = buffer_file.read();
if(ch == '#')
{
topic = buffer_file.readLine();
if(input_theme.compareTo(topic) == 0) //поиск темы
{
do {
info = buffer_file.readLine();
if(info != null)
System.out.println(info);
} while((info != null)
&& (info.compareTo("") != 0));
return true;
}
}
} while(ch != -1);
}
catch(IOException exc)
{
System.out.println("ОШИБКА | Невозможно получить доступ к файлу справки!");
}
return false;
}
String getSoughtTopic() //чтение названия искомой темы с клавиатуры
{
String topic = "";
BufferedReader buffer =
new BufferedReader(new InputStreamReader(System.in));
System.out.print("Укажите тему: ");
try {
topic = buffer.readLine();
}
catch(IOException object) {
System.out.println("Ошибка при чтении с консоли!");
}
return topic;
}
}
class FileHelp {
public static void main(String[] args)
{
Help directory = new Help("directory.txt");
String topic;
System.out.println("Используйте справочную систему. \n" +
"Для выхода из системы введите 'stop'. ");
while(true)
{
topic = directory.getSoughtTopic(); //получение названия искомой темы
if(topic.compareTo("stop") == 0)
break;
if(!directory.showInfo(topic)) //получение информации по искомой теме
System.out.println("Тема не найдена! \n");
}
}
}

