void main( ) throws Exception { 
   System.out.println("hola");         // imprimir en la salida estándar 
 
   var arch = new FileOutputStream("salida.txt"); 
   var impr1 = new PrintStream(arch);  // System.out hereda de OutputStream pero realmente es un PrintStream (OutputStream no tiene print, println ni printf) 
                                       // es necesario primero construir un PrintStream a partir del OutputStream para poder usar las funciones a las que estamos acostumbrados
   impr1.println("hola");              // imprimir en un archivo 
 
   var out = new ByteArrayOutputStream( ); 
   var impr2 = new PrintStream(out);   // aplica lo mismo que arriba: construir un PrintStream a partir del OutputStream
   impr2.println("hola");              // imprimir en un arreglo (que será una cadena)
   var s = out.toString( ); 
} 
