001 package org.shiftone.jrat.util.io;
002
003
004 import org.shiftone.jrat.util.log.Logger;
005
006 import java.io.IOException;
007 import java.io.PrintStream;
008 import java.io.Writer;
009
010
011 /**
012 * @author jeff@shiftone.org (Jeff Drost)
013 */
014 public class PrintStreamWriter extends Writer {
015
016 private static final Logger LOG = Logger.getLogger(PrintStreamWriter.class);
017 private final PrintStream printStream;
018
019 public PrintStreamWriter(PrintStream printStream) {
020
021 super(printStream);
022
023 this.printStream = printStream;
024 }
025
026
027 public void write(int c) throws IOException {
028 printStream.print(c);
029 }
030
031
032 public void write(char cbuf[]) throws IOException {
033 printStream.print(cbuf);
034 }
035
036
037 public void write(String str) throws IOException {
038 printStream.print(str);
039 }
040
041
042 public void write(String str, int off, int len) throws IOException {
043 printStream.print(str.substring(off, off + len));
044 }
045
046
047 public void close() throws IOException {
048 printStream.close();
049 }
050
051
052 public void flush() throws IOException {
053 printStream.flush();
054 }
055
056
057 public void write(char cbuf[], int off, int len) throws IOException {
058
059 char[] target = new char[len];
060
061 System.arraycopy(cbuf, off, target, 0, len);
062 printStream.print(target);
063 }
064 }