Консольная утилита на Java для фильтрации содержимого файлов по типам данных (целые числа, вещественные числа, строки) и сохранения их в отдельные выходные файлы.
- Фильтрация входных фалов по типам данных (целые числа, вещественные числа, строки)
- Сохранение отфильтрованного содержимого в отдельные выходные файлы
- Поддержка пользовательского пути вывода и префикса имен фалов
- Предоставление статистики (краткой или полной) по отфильтрованным данным
- Корректная обработка ошибок без аварийного завершения
- Режим добавления к существующим файлам
- Автоматическое создание выходных директорий
- Java 11 или выше
- Gradle 6.0 или выше (для сборки)
./gradlew clean buildЭто создаст исполняемый JAR файл в build/libs/content-filter-1.0.0.jar
java -jar build/libs/content-filter-1.0.0.jar [опции] входной-файл1 [входной-файл2 ...]- -o, --output ПУТЬ - Путь для результатов (по умолчанию текущая директория)
- -p, --prefix ПРЕФИКС - Префикс имен выходных фалов
- -a, --append - Режим добавления к существующим файлам (по умолчанию перезапись)
- -s, --stats - Вывод полной статистики (только количество)
- -h, --help - Показать справку
- integers.txt - Содержит целые числа
- floats.txt - Содержит вещественные числа
- strings.txt - Содержит текстовые строки
- Имена файлов можно настроить с помощью опции -p
- Расположение файлов можно настроить с помощью опции -o
# Базовое исполнение с краткой статистикой
java -jar build/libs/content-filter-1.0.0.jar -s in1.txt in2.txt
# Полная статистика с пользовательской директорией вывода и префиксом
java -jar build/libs/content-filter-1.0.0.jar -f -o /path/to/output -p result_ in1.txt in2.txt
# Режим добавления с краткой статистикой
java -jar build/libs/content-filter-1.0.0.jar -a -s in1.txt in2.txt
# Показать справку
java -jar build/libs/content-filter-1.0.0.jar -h- Apache Commons CLI 1.5.0 - для парсинга аргументов командной строки
- Maven/Gradle: commons-cli:commons-cli:1.5.0
- URL: https://commons.apache.org/proper/commons-cli/
- Используется Apache Commons CLI для парсинга аргументов командной строки
- Корректная обработка ошибок - программа не аварийно завершается при ошибках
- Частичная обработка - если один из входных файлов недоступен, остальные всё равно обрабатываются
- Автоматическое создание выходных директорий
- Пустые выходные файлы автоматически удаляются
- Поддержка больших целых чисел (тип Long)
- Поддержка экспоненциальной записи вещественных чисел
- Правильное определение типов данных (целое число vs вещественное число)