Clase Java.io.FilterOutputStream en Java

Clase java.io.FilterInputStream en Java

FilterInputStream and FilterOutputStream Class

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *