Clase java.io.FilterInputStream en Java
La clase Java.io.FilterOutputStream es la superclase de todas aquellas clases que filtran los flujos de salida. El método write() de FilterOutputStream Class filtra los datos y los escribe en el flujo subyacente, el filtrado se realiza según los flujos.
Declaración :
public class FilterOutputStream extends OutputStream
Constructores :
- FilterOutputStream(OutputStream geekout): crea un filtro de flujo de salida.
Métodos:
- write(int arg) : java.io.FilterOutputStream.write(int arg) escribe el byte especificado en el flujo de salida.
Sintaxis:
public void write(int arg) Parameters : arg : Source Bytes Return : void Exception : In case any I/O error occurs.
- Implementación:
Java
// Java program illustrating the working of work(int arg) // method import java.io.*; import java.lang.*; public class NewClass { public static void main(String[] args) throws IOException { // OutputStream, FileInputStream & FilterOutputStream // initially null OutputStream geek_out = null; FilterOutputStream geek_filter = null; // FileInputStream used here FileInputStream geekinput = null; char c; int a; try { // create output streams geek_out = new FileOutputStream("GEEKS.txt"); geek_filter = new FilterOutputStream(geek_out); // write(int arg) : Used to write 'M' in the file // - "ABC.txt" geek_filter.write(77); // Flushes the Output Stream geek_filter.flush(); // Creating Input Stream geekinput = new FileInputStream("GEEKS.txt"); // read() method of FileInputStream : // reading the bytes and converting next bytes to int a = geekinput.read(); /* Since, read() converts bytes to int, so we convert int to char for our program output*/ c = (char)a; // print character System.out.println("Character written by" + " FilterOutputStream : " + c); } catch(IOException except) { // if any I/O error occurs System.out.print("Write Not working properly"); } finally{ // releases any system resources associated with // the stream if (geek_out != null) geek_out.close(); if (geek_filter != null) geek_filter.close(); } } }
- Nota:
en el programa que he usado el archivo GEEKS.txt , el programa creará un nuevo archivo con el nombre dado en el código y escribirá en él.
Producción :
Character written by FilterOutputStream : M
- write(byte[] buffer) : java.io.FilterOutputStream.write(byte[] buffer) escribe el byte ‘arg.length’ en el flujo de salida.
Sintaxis:
public void write(byte[] arg) Parameters : buffer : Source Buffer to be written to the Output Stream Return : void Exception : In case any I/O error occurs.
- Implementación:
Java
// Java program illustrating the working of work(byte // buffer) method import java.io.*; import java.lang.*; public class NewClass { public static void main(String[] args) throws IOException { // OutputStream, FileInputStream & FilterOutputStream // initially null OutputStream geek_out = null; FilterOutputStream geek_filter = null; // FileInputStream used here FileInputStream geekinput = null; byte[] buffer = {77, 79, 72, 73, 84}; char c; int a; try { // create output streams geek_out = new FileOutputStream("ABC.txt"); geek_filter = new FilterOutputStream(geek_out); // writes buffer to the output stream geek_filter.write(buffer); // forces byte contents to written out to the stream geek_filter.flush(); // create input streams geekinput = new FileInputStream("ABC.txt"); while ((a=geekinput.read())!=-1) { // converts integer to the character c = (char)a; // prints System.out.print(c); } } catch(IOException except) { // if any I/O error occurs System.out.print("Write Not working properly"); } finally { // releases any system resources associated // with the stream if (geek_out != null) geek_out.close(); if (geek_filter != null) geek_filter.close(); } } }
- Nota:
en el programa que he usado el archivo GEEKS.txt , el programa creará un nuevo archivo con el nombre dado en el código y escribirá en él.
Producción :
MOHIT
- write(byte[] buffer, int offset, int maxlen) : java.io.FilterOutputStream.write(byte[] buffer, int offset, int maxlen) escribe maxlen bytes desde el búfer especificado comenzando en la posición de desplazamiento hasta el flujo de salida.
Sintaxis:
public void write(write(byte[] buffer, int offset, int maxlen) Parameters : buffer : Source Buffer to be written to the Output Stream Return : buffer : Source Buffer to be written offset : Starting offset maxlen : max no. of bytes to bewriten to the Output Stream Exception : In case any I/O error occurs.
- flush() : java.io.FilterOutputStream.flush() vacía el Flujo de salida y no se permite escribir datos en el Flujo.
Sintaxis:
public void flush() Parameters : ------ Return : void Exception : In case any I/O error occurs.
- close() : java.io.FilterOutputStream.close() cierra la secuencia y libera todos los recursos asignados a la secuencia.
Sintaxis:
public void close() Parameters : ------ Return : void Exception : In case any I/O error occurs.
Programa Java que ilustra: métodos write(byte[] buffer, int offset, int maxlen), flush(), close()
Java
// Java program illustrating the working of // write(byte[] buffer, int offset, int maxlen), // flush(), close() method import java.io.*; import java.lang.*; public class NewClass { public static void main(String[] args) throws IOException { // OutputStream, FileInputStream & FilterOutputStream // initially null OutputStream geek_out = null; FilterOutputStream geek_filter = null; // FileInputStream used here FileInputStream geekinput = null; byte[] buffer = {65, 66, 77, 79, 72, 73, 84}; char c; int a; try { // create output streams geek_out = new FileOutputStream("ABC.txt"); geek_filter = new FilterOutputStream(geek_out); // write(byte[] buffer, int offset, int maxlen) : // writes buffer to the output stream // Here offset = 2, so it won't read first two bytes // then maxlen = 5, so it will print max of 5 characters geek_filter.write(buffer, 2, 5); // forces byte contents to written out to the stream geek_filter.flush(); // create input streams geekinput = new FileInputStream("ABC.txt"); while ((a = geekinput.read())!=-1) { // converts integer to the character c = (char)a; // prints System.out.print(c); } } catch(IOException except) { // if any I/O error occurs System.out.print("Write Not working properly"); } finally { // releases any system resources associated // with the stream if (geek_out != null) geek_out.close(); if (geek_filter != null) geek_filter.close(); } } }
Nota:
en el programa que he usado el archivo GEEKS.txt , el programa creará un nuevo archivo con el nombre dado en el código y escribirá en él.
Producción :
MOHIT
Este artículo es una contribución de . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA