El método unread() de la clase PushbackReader en Java es de tres tipos:
- El método no leído (int c) de la clase PushbackReader en Java se usa para retroceder un carácter copiándolo al frente del búfer de retroceso. Después de revocar este método, cuando se lee el siguiente carácter, tiene el valor igual al parámetro pasado.
Sintaxis:
public void unread(int c) throws IOException
Parámetros: este método acepta un parámetro c que representa el valor entero de un carácter que se va a retroceder.
Valor devuelto : este método no devuelve ningún valor.
Excepciones: este método lanza IOException si el búfer de retroceso está lleno o si ocurre un error de E/S.
Los siguientes programas ilustran el método no leído (int) de la clase PushbackReader en el paquete IO:
Programa 1:
// Java program to illustrate
// PushbackReader unread(int) method
import
java.io.*;
public
class
GFG {
public
static
void
main(String[] args)
throws
IOException
{
// Create string
String str =
"GEEKS"
;
// Create stringReader
StringReader strReader
=
new
StringReader(str);
// Create object of
// PushbackReader
PushbackReader pushbackReader
=
new
PushbackReader(strReader,
100
);
for
(
int
i =
0
; i < str.length(); i++) {
System.out.print(
(
char
)pushbackReader.read());
}
// Call unread() method
pushbackReader.unread(
65
);
System.out.print(
"\n"
+ (
char
)pushbackReader.read());
}
}
Producción:GEEKS A
Programa 2:
// Java program to illustrate
// PushbackReader unread(int) method
import
java.io.*;
public
class
GFG {
public
static
void
main(String[] args)
throws
IOException
{
// Create string
String str =
"GEEKSFORGEEKS"
;
// Create stringReader
StringReader strReader
=
new
StringReader(str);
// Create object of
// PushbackReader
PushbackReader pushbackReader
=
new
PushbackReader(strReader,
100
);
for
(
int
i =
0
; i < str.length(); i++) {
System.out.print(
(
char
)pushbackReader.read());
}
// Call unread() method
pushbackReader.unread(
'Z'
);
System.out.print(
"\n"
+ (
char
)pushbackReader.read());
}
}
Producción:GEEKSFORGEEKS Z
- El método unread(char[] cbuf) de la clase PushbackReader en Java se usa para retroceder una array de caracteres copiándolos al frente del búfer de retroceso. Después de revocar este método, cuando se lee el siguiente carácter, tiene el valor igual al primer elemento de la array de caracteres.
Sintaxis:
public void unread(char[] cbuf) throws IOException
Parámetros: este método acepta un parámetro cbuf que representa la array de caracteres que se va a retroceder.
Valor devuelto : este método no devuelve ningún valor.
Excepciones: este método lanza IOException si el búfer de retroceso está lleno o si ocurre un error de E/S.
Los siguientes programas ilustran el método no leído (char[]) de la clase PushbackReader en el paquete IO:
Programa 1:
// Java program to illustrate
// PushbackReader unread(char[]) method
import
java.io.*;
public
class
GFG {
public
static
void
main(String[] args)
throws
IOException
{
// Create string
String str =
"GEEKS"
;
// Create stringReader
StringReader strReader
=
new
StringReader(str);
// Create object of
// PushbackReader
PushbackReader pushbackReader
=
new
PushbackReader(strReader,
100
);
for
(
int
i =
0
; i < str.length(); i++) {
System.out.print(
(
char
)pushbackReader.read());
}
// Create character array
char
[] cbuf =
new
char
[] {
'A'
,
'B'
,
'C'
};
// Call unread() method
pushbackReader.unread(cbuf);
System.out.println();
for
(
int
i =
0
; i < cbuf.length; i++) {
System.out.print(
(
char
)pushbackReader.read());
}
}
}
Producción:GEEKS ABC
Programa 2:
// Java program to illustrate
// PushbackReader unread(char[]) method
import
java.io.*;
public
class
GFG {
public
static
void
main(String[] args)
throws
IOException
{
// Create string
String str =
"GEEKSFORGEEKS"
;
// Create stringReader
StringReader strReader
=
new
StringReader(str);
// Create object of
// PushbackReader
PushbackReader pushbackReader
=
new
PushbackReader(strReader,
100
);
for
(
int
i =
0
; i < str.length(); i++) {
System.out.print(
(
char
)pushbackReader.read());
}
// Create character array
char
[] cbuf =
new
char
[] {
'X'
,
'Y'
,
'Z'
};
// Call unread() method
pushbackReader.unread(cbuf);
System.out.println();
for
(
int
i =
0
; i < cbuf.length; i++) {
System.out.print(
(
char
)pushbackReader.read());
}
}
}
Producción:GEEKSFORGEEKS XYZ
- El método unread(char[] cbuf, int offset, int length) de la clase PushbackReader en Java se usa para retroceder una parte de una array de caracteres copiándolos al frente del búfer de retroceso. Después de revocar este método, cuando se lee el siguiente carácter, tiene el valor igual al primer elemento de la porción de la array de caracteres dada.
Sintaxis:
public void unread(char[] cbuf, int offset, int length) throws IOException
Parámetros: Este método acepta tres parámetros:
- cbuf : representa la array de caracteres cuya parte se va a insertar.
- offset : representa el índice de inicio de la parte de la array de caracteres.
- longitud : representa la cantidad de caracteres que se van a empujar.
Valor devuelto : este método no devuelve ningún valor.
Excepciones: este método lanza IOException si no hay suficiente espacio en el búfer de retroceso o si ocurre un error de E/S.
Los siguientes programas ilustran el método no leído (char[], int, int) de la clase PushbackReader en el paquete IO:
Programa 1:
// Java program to illustrate
// PushbackReader
// unread(char[], int, int) method
import
java.io.*;
public
class
GFG {
public
static
void
main(String[] args)
throws
IOException
{
// Create string
String str =
"GEEKS"
;
// Create stringReader
StringReader strReader
=
new
StringReader(str);
// Create object of
// PushbackReader
PushbackReader pushbackReader
=
new
PushbackReader(strReader,
100
);
for
(
int
i =
0
; i < str.length(); i++) {
System.out.print(
(
char
)pushbackReader.read());
}
// Create character array
char
[] cbuf
=
new
char
[] {
'A'
,
'B'
,
'C'
,
'D'
,
'E'
};
// Call unread() method
pushbackReader.unread(cbuf,
2
,
3
);
System.out.println();
for
(
int
i =
0
; i <
3
; i++) {
System.out.print(
(
char
)pushbackReader.read());
}
}
}
Producción:GEEKS CDE
Programa 2:
// Java program to illustrate
// PushbackReader
// unread(char[], int, int) method
import
java.io.*;
public
class
GFG {
public
static
void
main(String[] args)
throws
IOException
{
// Create string
String str =
"GEEKSFORGEEKS"
;
// Create stringReader
StringReader strReader
=
new
StringReader(str);
// Create object of
// PushbackReader
PushbackReader pushbackReader
=
new
PushbackReader(strReader,
100
);
for
(
int
i =
0
; i < str.length(); i++) {
System.out.print(
(
char
)pushbackReader.read());
}
// Create character array
char
[] cbuf
=
new
char
[] {
'W'
,
'X'
,
'Y'
,
'Z'
};
// Call unread() method
pushbackReader.unread(cbuf,
1
,
3
);
System.out.println();
for
(
int
i =
0
; i <
3
; i++) {
System.out.print(
(
char
)pushbackReader.read());
}
}
}
Producción:GEEKSFORGEEKS XYZ
Referencias:
1. https://docs.oracle.com/javase/10/docs/api/java/io/PushbackReader.html#unread(int)
2. https://docs.oracle.com/javase/10/ docs/api/java/io/PushbackReader.html#unread(char%5B%5D)
3. https://docs.oracle.com/javase/10/docs/api/java/io/PushbackReader.html#unread( char%5B%5D, int, int)