Что будет выведено на консоль, а что будет записано в файл 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
Зареєструйся Зараз
або Підпишись на майбутні тести