/
mmarakayeva
/
lab4
Обзор
Документация
Войти
/
mmarakayeva
/
lab4
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/console/ConsoleApp.java
90 строк
4 KB
Миленикс
first_commit
14 июн 2026, 18:29
14 июн 2026, 18:29
9dbfbcd
Код
Авторство
О чём код?
package console; import core.DataProcessor; import core.FileUtils; import models.InputArgs; import java.io.IOException; import java.util.List; /** * Консольное приложение для обработки данных * Использование: java ConsoleApp -i input.txt [-o output.txt] */ public class ConsoleApp { public static void main(String[] args) { System.out.println("========================================"); System.out.println(" КОНСОЛЬНЫЙ ОБРАБОТЧИК ДАННЫХ"); System.out.println("========================================\n"); // Шаг 1: Разбор аргументов командной строки InputArgs params = InputArgs.parse(args); // Проверка наличия входного файла if (!params.hasInputFile()) { System.err.println("ОШИБКА: Не указан входной файл!"); System.err.println(); InputArgs.printHelp(); System.exit(1); } try { // Шаг 2: Проверка существования файла if (!FileUtils.fileExists(params.getInputFile())) { System.err.println("ОШИБКА: Файл не найден: " + params.getInputFile()); System.exit(1); } // Шаг 3: Загрузка данных из файла System.out.println("Входной файл: " + params.getInputFile()); List<String> lines = FileUtils.readLines(params.getInputFile()); System.out.println("Загружено строк: " + lines.size()); // Вывод исходных данных System.out.println("\n--- ИСХОДНЫЕ ДАННЫЕ ---"); for (int i = 0; i < lines.size(); i++) { System.out.println(" " + (i + 1) + ". " + lines.get(i)); } // Шаг 4: Обработка данных System.out.println("\n--- ОБРАБОТКА ---"); System.out.println("Алгоритм: отфильтровать положительные числа → возвести в квадрат"); DataProcessor processor = new DataProcessor(); String[] inputArray = lines.toArray(new String[0]); String[] outputArray = processor.processPipeline(inputArray); // Шаг 5: Вывод результатов System.out.println("\n--- РЕЗУЛЬТАТЫ ---"); if (outputArray.length == 0) { System.out.println(" (нет результатов: не найдено положительных чисел)"); } else { for (int i = 0; i < outputArray.length; i++) { System.out.println(" " + (i + 1) + ". " + outputArray[i]); } } // Статистика System.out.println("\n--- СТАТИСТИКА ---"); System.out.println(" Всего строк на входе: " + lines.size()); System.out.println(" Успешно обработано: " + outputArray.length); System.out.println(" Пропущено: " + (lines.size() - outputArray.length)); // Шаг 6: Сохранение в файл (если указан) if (params.hasOutputFile()) { FileUtils.ensureDirectoryExists(params.getOutputFile()); FileUtils.writeLines(params.getOutputFile(), outputArray); System.out.println("\n--- СОХРАНЕНИЕ ---"); System.out.println("Результаты сохранены в: " + params.getOutputFile()); } System.out.println("\n========================================"); System.out.println(" ОБРАБОТКА ЗАВЕРШЕНА"); System.out.println("========================================"); } catch (IOException e) { System.err.println("ОШИБКА при работе с файлом: " + e.getMessage()); System.exit(1); } } }