Выбрасывает исключение FileNotFoundException при работе с объектом FileReader

Осваиваю ввод-вывод по "Java. Руководство для начинающих" Шилдта.
Cтолкнулся с проблемой при создании справочной системы.

Есть пакет Directory:
directory.txt - содержит справку с пометками "#"
DirectoryTest.java - содержит классы для поиска в directory.txt

Пакет Directory

directory.txt:
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");
        }
    }
}

Ответы (0 шт):