Что будет выведено на консоль, а что будет записано в файл test.out ?

package question;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;

public class TestOutput {
    public static void main(String[] args) throws IOException {
        PrintStream out = new PrintStream(
                   new BufferedOutputStream(new FileOutputStream("test.out")));
        PrintStream console = System.out;
        System.setOut(console);

        System.out.println("FIRST OUTPUT");

        System.setOut(out);

        System.out.println("SECOND OUTPUT");

        out.close();

        System.out.println("THIRD OUTPUT");
    }
}
Explanation
Перенаправление стандартного вывода. С FIRST OUTPUT перенаправление происходит на консоль, поэтому выведется результат в консоль, SECOND OUTPUT происходит перенаправление в файл test.out, поэтому вывод пойдёт в файл. А THIRD OUTPUT не выведется ни в консоль, ни в файл, потому что поток out закрыт на предыдущей строке.

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты