Как прочитать весь вывод CMD для журналов

Понятия не имею, как это сделать, но вот в чем вопрос. Я собираюсь создать программу, которая будет выполнять кучу различных операций. Я планирую вывести всю информацию, включая отладочную информацию, и все операции завершены. Если я обнаруживаю ошибку, я хочу закрыть программу, а затем прочитать весь вывод и создать файл со всем этим, чтобы я мог выяснить, что пошло не так. Я хочу прочитать весь вывод из командной строки и записать его в журнал с датой и временем. Пожалуйста, не помечайте это как дубликат, потому что я не смог найти никаких похожих вопросов с ответами, относящимися к этому.

Как вы «выполняете» разные операции? Это просто занятия с использованием System.out? Это внешние команды?

MadProgrammer 08.05.2018 01:46

@MadProgrammer Я просто собираюсь обнаружить ввод и сказать, что они нажимают кнопку, и она куда-то их берет, затем я покажу это в окне дисплея и в журнале в cmd, чтобы я мог видеть исключения, которые происходят, но я хочу сохранить все исключения после прекращения.

Max S 08.05.2018 01:48
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
239
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вот несколько свободных строк, относящихся к вашим усилиям:

public class StartProcess {
    public static void main(final String[] args) throws IOException, InterruptedException {
        final Process process = Runtime.getRuntime().exec("the app command");
        final InputStream in = process.getInputStream();
        final OutputStream out = process.getOutputStream();
        final InputStream err = process.getErrorStream();
        process.waitFor(); // wait for termination
        final int exitCode = process.exitValue();
    }
}

Однако вы должны иметь в виду асинхронное считывание входных данных из потоков.

Другие вопросы по теме