Clase Java.io.PipedWriter en Java

io.PipedWriter Class in Java

Esta clase es básicamente un flujo de salida de caracteres entubado. En I/O Piped, simplemente significa un enlace entre dos subprocesos que se ejecutan en JVM al mismo tiempo. Por lo tanto, las tuberías se utilizan como origen o como destino.
Se dice que una canalización está rota si un subproceso que proporcionaba bytes de datos al flujo de salida canalizado conectado ya no está activo.

Declaración:

public class PipedWriter
  extends Writer

Constructor:

  • PipedWriter() : crea un PipedWriter, que no está conectado.
  • PipedWriter(PipedReader inStream) : crea un PipedWriter, que está conectado a PipedReader – ‘inStream’.

Métodos:

  • write(int char) : java.io.PipedWriter.write(int char) escribe el carácter especificado en PipedWriter.
    Sintaxis:
    public void write(int char)
    Parameters : 
    char : character to be written
    Return :                                               
    void
    Exception :
    -> IOException : if in case IO error occurs.
  • write(char[] carray, int offset, int maxlen) : java.io.PipedWriter.write(char[] carray, int offset, int maxlen) escribe el carácter maxlen de ‘carray’ a PipedWriter. El método se bloquea si no quedan caracteres para escribir en Stream.
    Sintaxis:
    public void write(char[] carray, int offset, int maxlen)
    Parameters : 
    carray : data of the carray
    offset : starting in the destination array - 'carray'.
    maxlen : maximum length of array to be read
    Return :                                               
    void
    Exception :
    -> IOException : if in case IO error occurs.

    Implementación:

    // Java program illustrating the working of PipedWriter
    // write(char[] carray, int offset, int maxlen)
      
    import java.io.*;
    public class NewClass
    {
        public static void main(String[] args) throws IOException
        {
            PipedReader geek_reader = new PipedReader();
            PipedWriter geek_writer = new PipedWriter();
      
            // Use of connect() : connecting geek_reader with geek_writer
            geek_reader.connect(geek_writer);
      
            char[] carray = {'J', 'A', 'V', 'A'};
      
            // Use of write(char[] carray, int offset, int maxlen)
            geek_writer.write(carray, 0, 4);
            int a = 5;
            System.out.print("Use of write(carray, offset, maxlen) : ");
            while(a>0)
            {
                System.out.print(" " + (char) geek_reader.read());          
            }
            
        }
    }

    Producción :

    Use of write(carray, offset, maxlen) :  J A V A
  • close() : java.io.PipedWriter.close() cierra PipedWriter y libera los recursos asignados.
    Sintaxis:
    public void close()
    Parameters : 
    --------------
    Return :                                               
    void
    Exception :
    -> IOException : if in case IO error occurs.
  • connect (destino de PipedReader): java.io.PipedWriter.connect (destino de PipedReader) conecta el PipedWriter al ‘destino’ PipedReader y, en caso de que el ‘destino’ sea canalizaciones con alguna otra secuencia, se genera una excepción de IO
    Sintaxis:
    public void connect(PipedReader destination)
    Parameters : 
    destination : the PipedReader to be connected to
    Return :                                               
    void
    Exception :
    -> IOException : if in case IO error occurs.
  • flush() : java.io.PipedWriter.flush() vacía el flujo de salida.
    Sintaxis:
    public void flush()
    Parameters : 
    ------------
    Return :                                               
    void
    Exception :
    -> IOException : if in case IO error occurs.

    Código Java que ilustra el funcionamiento de los métodos de la clase PipedWriter:

    // Java program illustrating the working of PipedWriter
    // write(), connect
    // close(), flush()
      
    import java.io.*;
    public class NewClass
    {
        public static void main(String[] args) throws IOException
        {
            PipedReader geek_reader = new PipedReader();
            PipedWriter geek_writer = new PipedWriter();
            try
            {
                // Use of connect() : connecting geek_reader with geek_writer
                geek_reader.connect(geek_writer);
      
                // Use of write(int byte) :
                geek_writer.write(71);
                geek_writer.write(69);
                geek_writer.write(69);
                geek_writer.write(75);
                geek_writer.write(83);
      
                // Use of flush() method :
                geek_writer.flush();
                System.out.println("Use of flush() method : ");
      
                int i = 5;
                while(i > 0)
                {
                    System.out.print(" " + (char) geek_reader.read());
                    i--;
                }
      
                // USe of close() method :
                System.out.println("\nClosing the Writer stream");
                geek_writer.close();
      
            }
            catch (IOException excpt)
            {
                excpt.printStackTrace();
            }
        }
    }

    Producción :

    Use of flush() method : 
     G E E K S
    Closing the Writer stream

    Artículo siguiente: Clase Java.io.PipedReader en Java

    Este artículo es aportado por Mohit Gupta 🙂 . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@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 *