tutorial sirve significa que para example definicion biblioteca java io

java - sirve - Restablecimiento del flujo de salida estándar



java.io definicion (2)

Esta es una vieja pregunta, pero aparece en la búsqueda de Google todo el tiempo y quería corregirla. En realidad puede obtenerlo, utilizando la clase FileDescriptor . Llamar al new PrintStream(new FileOutputStream(FileDescriptor.out))) debería darle algo que imprima en stdout.

import java.io.FileDescriptor; import java.io.FileOutputStream; import java.io.PrintStream; public static void main(String [] args) { System.err.println("error."); System.out.println("out."); System.setOut(System.err); System.out.println("error?"); System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out))); System.out.println("out?"); }

Sé que hay una función en Java para establecer el flujo de salida estándar a cualquier valor definido por el usuario utilizando el método System.setOut .

Pero, ¿hay algún método para restablecer la salida estándar a la que se almacenó anteriormente o la que es salida estándar?


Puede obtener el descriptor de archivo para la salida estándar a través de FileDescriptor.out . Para restablecer la impresión estándar a la consola, lo haces

System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out)));

Otra forma es simplemente aferrarse al objeto original, de la siguiente manera:

PrintStream stdout = System.out; System.setOut(new PrintStream(logFile)); // ... System.setOut(stdout); // reset to standard output