package javacodebook.io.setstdstreams; import java.io.*; /** * Die Standard-Streams für Ausgabe und Fehlerausgabe können umgeleitet werden, z.B. * in eine Datei. Damit können Fehlerprotokolle oder Log-Dateien erstellt werden. * Die Standardausgabe/Eingabe und Fehlerausgabe werden in der Klasse java.lang.System * verwaltet. Dort können sie mit den entsprechenden Methoden umgeleitet werden. */ public class SetStdStreams { public static void main(String[] args) { try { String dateiName = "c:\\ausgabe.log"; if(args.length > 0) dateiName = args[0]; //Umleitung der Standardausgabe in eine Datei: //Zuerst wird ein FileOutputStream definiert, dann ein //PrintStream, damit die Methode println zur Verfügung steht. //Der PrintStream wird als Ausgabestrom an System übergeben FileOutputStream f = new FileOutputStream(dateiName); PrintStream p = new PrintStream(f); System.setOut(p); System.out.println("Diese Ausgabe wurde in eine Datei umgeleitet"); } catch(FileNotFoundException e) { System.err.println("Datei konnte nicht geöffnet werden"); e.printStackTrace(System.err); } } }