Java by API/java.io/FilterOutputStream

Материал из Java эксперт
Перейти к: навигация, поиск

extends FilterOutputStream

 

import java.io.FileInputStream;
import java.io.FilterOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class Main {
  public static void main(String[] args) throws Exception {
    InputStream in = new FileInputStream("test.txt");
    OutputStream out = System.out;
    PrintableOutputStream pout = new PrintableOutputStream(out);
    for (int c = in.read(); c != -1; c = in.read()) {
      pout.write(c);
    }
    out.close();
  }
}
class PrintableOutputStream extends FilterOutputStream {
  public PrintableOutputStream(OutputStream out) {
    super(out);
  }
  public void write(int b) throws IOException {
    // carriage return, linefeed, and tab
    if (b == "\n" || b == "\r" || b == "\t")
      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]);
    }
  }
}





FilterOutputStream: write(byte[] b)

  
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
public class Main {
  public static void main(String[] args) throws Exception {
    BufferedOutputStream bufferedOutput = new BufferedOutputStream(new FileOutputStream(
        "yourFile.txt"));
    bufferedOutput.write("Line one".getBytes());
    bufferedOutput.write("\n".getBytes());
    bufferedOutput.write(65);
    bufferedOutput.close();
  }
}