FileDocCategorySizeDatePackage
PrintableOutputStream.javaAPI DocExample667Sun Mar 28 19:06:20 BST 1999com.macfaq.io

PrintableOutputStream.java

package com.macfaq.io;

import java.io.*;


public class PrintableOutputStream extends FilterOutputStream {

  public PrintableOutputStream(OutputStream out) {
    super(out);
  }

  public void write(int b) throws IOException {
  
    // carriage return, linefeed, and tab 
    if (b == 10 || b == 13 || b == 9) out.write(b);
    // non-printing characters
    else if (b < 32 || b > 126) out.write('?');
    // printing, ASCII characters
    else out.write(b);  
  }

  public void write(byte[] data, int offset, int length) throws IOException {
    for (int i = offset; i < offset+length; i++) {
      this.write(data[i]);
    }
  }

}