Эта собака СОВСЕМ не на своем месте.
Я понимаю, что тебе, в силу ограниченного опыта, известна только одна возможная причина по которой файл может не открываться, но на самом деле этих причин тысячи. И программисту желательно знать конкретно, почему файл не открылся.
Надо отсортировать по алфавиту этот и рядом создать файл-указатель ([начальная подстрока]:[локальное смещение в байтах]:[смещение в файле данных в байтах]) и по нему искать начальные совпадения и, при открытии файла с данными, смещаться на нужное кол-во байт и оттуда начинать построчное чтение с проверкой.
Т.е., "дерево".