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