File Input Output Java

import java.io.FileOutputStream;
import java.io.PrintStream;
public class Main {
  public static void main(String[] argv) throws Exception {
    System.setOut(new LogStream(System.out, new PrintStream(new FileOutputStream("out.log"))));
    System.setErr(new LogStream(System.err, new PrintStream(new FileOutputStream("err.log"))));
    
    System.out.println("output");
    System.err.println("error");
  }
}
class LogStream extends PrintStream {
  PrintStream out;
  public LogStream(PrintStream out1, PrintStream out2) {
    super(out1);
    this.out = out2;
  }
  public void write(byte buf[], int off, int len) {
    try {
      super.write(buf, off, len);
      out.write(buf, off, len);
    } catch (Exception e) {
    }
  }
  public void flush() {
    super.flush();
    out.flush();
  }
}