Java by API/java.io/FilterOutputStream

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

extends FilterOutputStream

   <source lang="java">

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]);
   }
 }

}

 </source>
   
  
 
  



FilterOutputStream: write(byte[] b)

   <source lang="java">
 

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();
 }

}


 </source>