HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML
 

"Rerouting the Standard I/O Streams"
Vol. 2, Issue 9, p. 50

	

Listing 1.
 
// Optional re-routing of standard input 
// stream based on command-line args 
public static void main(String[] astrArgs) { 
  if(astrArgs.length != 0) 
    try { 
      System.in = 
          new FileInputStream(astrArgs[0]); 
    } catch (IOException ioe) { 
      // Forget it or report error 
    } 
  // Now, just process System.in 

} 

Listing 2.
 
// Optional re-routing of standard output 
public static void main(String[] astrArgs) { 
  if(astrArgs.length != 0) 
    try { 
      System.out = 
          new FileOutputStream(astrArgs[0]); 
    } catch (IOException ioe){ 
      // Forget it or report error 
    } 

  // Now, just write output to 
  // System,out. 

} 
  

Listing 3.
 
// Call setStandardOutput() or setStandardInput() 
// to re-route standard streams. 
public class StandardOutputFilterStream 
    extends FilterOutputStream { 

  static { 
    System.out = 
        new StandardOutputFilterStream( 
        System.out); 
    System.err = 
        new StandardOutputFilterStream( 
        System.err); 
  } 

  protected StandardOutputFilterStream( 
      OutputStream out) { 
    super(out); 
  } 

  public void setStandardOutput( 
      OutputStream out) { 
    System.out = 
        new StandardOutputFilterStream(out); 
  } 

  public void setStandardError( 
      OutputStream err) { 
    System.err =  
        new StandardOutputFilterStream(err); 
  } 
} 


 

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.