Как получить весь консольный вывод в переменную по завершению работы?

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

Можно, конечно, изменить работу немного:
text += "Это появится на экране";
out.println(text);
Но если в программе 2000 строк? Много! Не хочу этим заниматься.
  • Вопрос задан
  • 97 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Vorh
Самый простой вариант при запуске указать файл в который будет выводиться вся информация выводимая программой :
java ClassName > a.txt
Или настроить вывод в коде:
System.setOut(new PrintStream(new FileOutputStream(fileName)));

Но гораздо лучше выбрать одну из библеотек логирования Log4J, LogBack и т.д. или встроенную по умолчанию в java java.util.logging - разобраться в них и настроить под себя.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы