39.    System.err

Conecta con una salida alternativa a la estándar, permitiendo escribir en ella. Similar a System.out y, además, pueden convivir:

class SystemErr

public class SystemErr {

  public static void main(String[] argumentos) {

    System.out.println("System.out: salida estándar");

    System.err.println("System.err: salida alternativa");

  }

}   

 

Normalmente lo que se escribe aparece en la pantalla

$ java SystemErr

System.out: salida estándar

System.err: salida alternativa

 

pero es fácil que el usuario envíe la salida estándar a un fichero, en cuyo caso sólo la salida alternativa aparece en pantalla

$ java SystemErr > salida.txt

System.err: salida alternativa

 

Desde el sistema operativo, es fácil para el usuario redirigir la salida alternativa a un fichero

$ java SystemErr 2> errores.txt

System.out: salida estándar

 

e incluso dirigir cada salida a un fichero específico

$ java SystemErr > salida.txt 2> errores.txt

 

o ambas salidas al mismo fichero

java SystemErr > todo.txt 2>&1

 

y también es posible cambiar la salida desde dentro del programa

    PrintStream salida = new PrintStream("errores.txt");

    System.setErr(salida);

 

La definición en la clase System es así:

public final static PrintStream err;

 

Ver “System.out.

Temas relacionados

Las Bibliotecas de Java