Q:

Сохранить содержимое консоли в файл. Java

Возможно ли как-то это осуществить?
 Например, программа сработала, консоль отобразила результат и пользователь введя букву "s" переносит всё содержимое консоли в .txt файл. 

A:

import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;

import org.apache.commons.io.output.TeeOutputStream;

public class Example {
    public static void main(String[] args) throws IOException {
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        OutputStream teeStream = new TeeOutputStream(System.out, buffer);
        // После этой строки любой вывод будет сохраняться в buffer
        System.setOut(new PrintStream(teeStream));

        // Выводим в консоль строку
        System.out.println("Hello World!");

        // Сохраняем buffer в файл
        try(OutputStream fileStream = new FileOutputStream("console.txt")) {
            buffer.writeTo(fileStream);
        }
        // В console.txt теперь строка "Hello World!"
    }
}

