Отключить вывод Java-консоли для следующих X строк? - PullRequest
0 голосов
/ 17 ноября 2018

Я хотел бы знать, возможно ли в Java скрыть все Console-Print-Out для определенного количества строк или времени.

1 Ответ

0 голосов
/ 17 ноября 2018

«Вывод на консоль Java» фактически записывается в java.System.out .

Если вы хотите «остановить вывод» на некоторое время, вы можете временно «перенаправить» систему. до фиктивного потока;некоторый поток, который ничего не записывает.

Смотрите здесь: Скрытие вызовов System.out.print класса

System.out.println("NOW YOU CAN SEE ME");

PrintStream originalStream = System.out;

PrintStream dummyStream = new PrintStream(new OutputStream(){
    public void write(int b) {
        // NO-OP
    }
});

System.setOut(dummyStream);
System.out.println("NOW YOU CAN NOT");

System.setOut(originalStream);
System.out.println("NOW YOU CAN SEE ME AGAIN");
...