Пользователь должен иметь возможность указать папку в сети или на жестком диске, в которой будет происходить поиск заданного текста включая все вложенные папки.
Должна быть возможность ввода текста поиска и ввода типа расширения файлов, в которых будет осуществляться поиск (расширение по умолчанию *.log).
Результаты поиска можно вывести в левой части приложения в виде дерева файловой системы только те файлы, в которых был обнаружен заданный текст.
В правой части приложения выводить содержимое файла с возможностью навигации по найденному тексту (выделить все, вперед/назад)
Плюсом будет многопоточность приложения, «не замораживания» приложения на время поиска, возможность открывать «большие» (более 1Г) файлы и осуществлять по ним быструю навигацию, возможность открывать файлы в новых «табах» т. е. использовать TabFolder или MDI.
Для отображения разрешается использовать любые Java GUI-фреймворки (AWT, Swing, SWT, JavaFX, NetBeans Platform и т.п.).
Приложение может быть как десктопным так и веб-клиентом.
- Скорость поиска в файлах заданного текста и скорость навигации по открытому файлу.
- Приятный и интуитивно понятный интерфейс приложения.
- Краткий и понятный исходный код.