Q:

Как лучше найти вхождение подстроки в большом тексте?

Как лучше реализовать считывание из файла большого текста и нахождение в нём вхождений подстроки.

A:

Префикс функция и КМП e-maxx.ru
Префикс функция вики
Алгоритм КМП вики
Можно так, например. Почитайте, если что непонятно, попытаюсь пояснить на примере.
Обновление
Можно в String, способов считывания множество есть в общем-то, можно в байтовый массив. Как пример, если поиск подстроки будет с помощью КМП, то можно сперва подстроку записать в StringBuilder, затем BufferedReader'ом добавить содержимое файла и работать уже дальше по алгоритму со строкой полученной.

