При запуске утилиты в командной строке подается несколько файлов, содержащих во вперемешку целые числа, строки и вещественные числа. В качестве разделителя используется перевод строки. Строки из файлов читаются по очереди в соответствии с их перечислением в командной строке.
Задача утилиты записать разные типы данных в разные файлы. Целые числа в один выходной файл, вещественные в другой, строки в третий. По умолчанию файлы с результатами располагаются в текущей папке с именами integers.txt, floats.txt, strings.txt Дополнительно с помощью опции -o нужно уметь задавать путь для результатов. Опция -p задает префикс имен выходных файлов. Например, -o /some/path -p result_ задают вывод в файлы /some/path/result_integers.txt, /some/path/result_strings.txt и тд.
По умолчанию файлы результатов перезаписываются. С помощью опции -a можно задать режим добавления в существующие файлы.
Файлы с результатами должны создаваться по мере необходимости. Если какого-то типа данных во входящих файлах нет, то и создавать исходящий файл, который будет заведомо пустым, не нужно.
В процессе фильтрации данных необходимо собирать статистику по каждому типу данных. Статистика должна поддерживаться двух видов: краткая и полная. Выбор статистики производится опциями -s и -f соответственно. Краткая статистика содержит только количество элементов записанных в исходящие файлы. Полная статистика для чисел дополнительно содержит минимальное и максимальное значения, сумма и среднее. Полная статистика для строк, помимо их количества, содержит также размер самой короткой строки и самой длинной.
Программа реализована на java версии "23". Среда разработки IntelliJ IDEA/ версия "2024.3.2"
Запуск программы выполняется через запуск конфигурации "FileContentFiltering", после чего
в конфигурации запуска добавьте аргументы командной строки: "-o /some/path -p result_ -a -f"(создастся фалы в C:)
или "-o ./output -p result_ -a -f"(создадутся файлы в корне проекта), после чего ввести данные в консоль (целые числа, вещественные числа и строки) пример:
Hi friend!
123
65.28
Hello World!
63
7.62
Java
После ввода данных, нужно зажать сочетание клавиш для завершения кода "Ctrl+D" (на Linux/Mac) или "Ctrl+Z" (на Windows).
Результат можно проверить в создавшихся файлах или в диске, или в корне проекта.