FileFilterUtils

0

Описание

Тестовое задания для курса Java. Шифт.

Языки

  • Java100%
README.md

Утилита фильтрации содержимого файлов

Описание

Утилита предназначена для фильтрации содержимого текстовых файлов, содержащих целые числа, вещественные числа и строки. Каждый тип данных записывается в отдельный выходной файл. Также утилита собирает статистику по каждому типу данных.

Возможности

  • Разделение содержимого файлов по типам: целые числа, вещественные числа, строки.
  • Гибкая настройка путей и префиксов выходных файлов.
  • Поддержка режима добавления в существующие файлы.
  • Сбор краткой и полной статистики по каждому типу данных.
  • Обработка ошибок без аварийного завершения программы.

Особенности реализации

  • Если не передан ни один из флагов
    -f
    или
    -s
    , то программа не будет выводить информацию о статистике.
  • Если входные файлы содержат очень большие числа (<
    Long.MIN_VALUE
    и >
    Long.MAX_VALUE
    ), то такие числа не будут учтены в статистике. НО! будут корректно идентифицированы и записаны в выходные файлы.
  • Распознавание типа данных строки происходит благодаря использованию регулярных выражений.

Используемые библиотеки

Используемые сторонние библиотеки:

  1. Lombok 1.18.38
    Зависимость (Gradle): compileOnly("org.projectlombok:lombok:1.18.38")
    annotationProcessor("org.projectlombok:lombok:1.18.38")
    Ссылка: https://projectlombok.org/

  2. Apache Commons CLI 1.9.0
    Зависимость (Gradle): implementation("commons-cli:commons-cli:1.9.0")
    Ссылка: https://commons.apache.org/proper/commons-cli/

  3. JUnit Jupiter (JUnit 5) 5.10.0
    Зависимость (Gradle): testImplementation(platform("org.junit:junit-bom:5.10.0"))
    testImplementation("org.junit.jupiter:junit-jupiter")
    Ссылка: https://junit.org/junit5/

Плагины Gradle:

Использование

Сборка и запуск

Разработка и тестирование проводились на Java 23 и Gradle 8.14.2.

Параметры запуска

-a
Флаг, если передан, то выходные файлы надо добавлять информацию, а не перезаписывать

-f
Собрать полную статистику
-s
Собрать краткую статистику

-o <arg>
Абсолютный путь к папке в которую необходимо сохранить результаты

-p <arg>
Префикс в названии выходных файлов