First of all, this is my life's first TEST TASK before interview. I will keep it as history :D That was really long time ago.
Desktop application to search log files(text files), containing specified text in file tree and network*, allows to specify files extension, read(navigation)/search text inside this files (also 1GB+).
* no tests for search in network Application uses JavaFX
Download gradle: https://gradle.org/install A quick way to launch project:
git clone https://github.com/antmog/Finder.git
cd Finder/
gradle wrapper
gradlew build
gradlew runProject cloned to Finder/ of current directory; run project using gradlew.
To get project:
git clone https://github.com/antmog/Finder.git
cd Finder/
(make sure that you have gradle/gradle IDE plugin installed )- User can search files, containing specified text (in main text area).
- User can specify folder (with subfolders) to search in (in main file tree).
- User can specify extension of files to search in (by default: *.log).
- User can open files found (files will be opened in right part of result block), navigation and other options are available also.
Result will be shown as file tree in bottom part of application.
- Application allows to navigate through files w/o stopping application, also user can start new search (in main file tree).
- Application allows to work with 1GB+ files.
Search in file speed is optimized.
- To expand file tree node - select it (select action, not click).
- To open file in result tree - select it.
- OptimizedRandomAccess file got from https://bitbucket.org/kienerj/io with several changes.
- UTF8 charset only tested.
- Not all exceptions in threads handled (also most of exceptions handled as printStackTrace()).
- No suppress warnings.
gradle,java,JavaFX,css,fxml,png used
Application view:



