El método propuesto es el siguiente:
public static void standardIO2File(String fileName){ if(fileName.equals("")){//Si viene vacío usamos este por defecto fileName="C:\\javalog.txt"; } try { //Creamos un printstream sobre el archivo permitiendo añadir al //final para no sobreescribir. PrintStream ps = new PrintStream(new BufferedOutputStream( new FileOutputStream(new File(fileName),true)),true); //Redirigimos entrada y salida estandar System.setOut(ps); System.setErr(ps); } catch (FileNotFoundException ex) { System.err.println("Se ha producido una excepción FileNotFoundException"); } }
Como veis el método es muy sencillo: pasamos como parámetro un String con el nombre (y ruta) del fichero y creamos sobre él un PrintStream que pasaremos como argumento a los métodos setOut y setErr. Estos métodos redirigen al fichero la salida estándar y la de error. Podemos codificar el método con dos argumentos para redirigir la salida estándar a un fichero y la de error a otro, eso queda a gusto del consumidor.
No hay comentarios:
Publicar un comentario