logo

Classe Java PushbackReader

O Classe PushbackReader em Java faz parte do java.io.package e é usado para ler caracteres de um fluxo. Esta classe nos permite colocar os personagens de volta no fluxo.

Recursos da classe PushbackReader:

  • Esta classe usa um buffer que nos permite enviar caracteres de volta ao fluxo.
  • Esta aula é ótima para ler textos e verificar caracteres sem usá-los imediatamente. Se o personagem não for necessário, ele pode ser adiado.

Exemplo:



Java
// Demonstrating the working  // of PushbackReader import java.io.*; public class Geeks {    public static void main(String[] args) {  String s = 'Hello World!';  StringReader sr = new StringReader(s);  // Create a PushbackReader with the StringReader  PushbackReader pr = new PushbackReader(sr);  try {  // Read the first character  int char1 = pr.read();  System.out.println('Read character: ' + (char) char1);  // Push this character back into the stream  pr.unread(char1);  // Read the same character again (since we pushed it back)  int char2 = pr.read();  System.out.println('Read character again: ' + (char) char2);   // Continue reading the next character  int char3 = pr.read();  System.out.println('Next character: ' + (char) char3);   // Close the reader  pr.close();  } catch (IOException e) {  e.printStackTrace();  }  } } 

Saída
Read character: H Read character again: H Next character: e 


Declaração da classe PushbackReader

A declaração da classe PushbackReader está listada abaixo:

cordas em c

classe pública PushbackReader estende FilterReader

Todas as interfaces implementadas:

  • Fechável: Esta interface é usada para liberar recursos
  • Fechamento automático: Esta interface permite o fechamento automático em uma instrução try-with-resources.
  • Legível: Esta interface é usada para ler dados do objeto.

Construtores em PushbackReader

Esta classe consiste em dois construtores com a ajuda dos quais podemos criar objetos desta classe de diferentes maneiras. A seguir estão os construtores disponíveis nesta classe:

1. PushbackReader(Leitor push): Este construtor é usado para criar um novo PushbackReader com um buffer de pushback padrão.

Sintaxe:

PushbackReader público (push do leitor)

Exemplo:

Java
// Demonstrating the working  // of PushbackReader(Reader push) import java.io.*; public class Geeks {  public static void main(String[] args) {    // String to be read  String s = 'Hello World!';    // Create a StringReader to read from the string  StringReader sr = new StringReader(s);  // Create a PushbackReader with the StringReader  PushbackReader pr = new PushbackReader(sr);  try {  // Read and print characters  int charRead;  while ((charRead = pr.read()) != -1) {  System.out.print((char) charRead);  }  // Close the PushbackReader  pr.close();  } catch (IOException e) {  e.printStackTrace();  }  } } 

Saída
Hello World!


2. PushbackReader (tamanho interno do leitor): Este construtor nos permite especificar o tamanho do buffer de pushback

Sintaxe:

public PushbackReader (tamanho int do push do leitor)

Exemplo:

Java
// Demonstrating the working // of PushbackReader(Reader push int size) import java.io.*; public class Geeks{  public static void main(String[] args) {    // String to be read  String s = 'Hello World!';    // Create a StringReader to read from the string  StringReader sr = new StringReader(s);  // Create a PushbackReader with the StringReader   // and a specified buffer size of 20  PushbackReader pr = new PushbackReader(sr 20);  try {  // Read and print characters  int charRead;  while ((charRead = pr.read()) != -1) {  System.out.print((char) charRead);  }  // Close the PushbackReader  pr.close();  } catch (IOException e) {  e.printStackTrace();  }  } } 

Saída
Hello World!


o que é envio de diretório

Métodos Java PushbackReader

A imagem abaixo demonstra os métodos da classe CharArrayWriter.

Classe io.PushbackReader em Java' title=


Agora vamos discutir cada método, um por um, em detalhes:

1. ler(): Este método é usado para ler um caractere por vez do fluxo

Sintaxe:

leitura int pública()

  • Parâmetro: Este método não aceita nenhum parâmetro.
  • Tipo de retorno: Este método retorna o caractere lido como um número inteiro ou retorna -1 quando o final do fluxo é atingido.


2. leia(char[] carray int offset int maxlen): Este método é usado para ler um bloco de caracteres.

mesas em látex

Sintaxe:

leitura int pública (char[] carray int offset int maxlen)

  • Parâmetro: Este método inclui três parâmetros listados abaixo
    • char[]carray: É uma matriz de caracteres onde os caracteres lidos serão armazenado.
    • deslocamento interno: É a posição inicial na matriz
    • int maxlen: É o número máximo de caracteres a serem lidos.
  • Tipo de retorno: Este método retorna o número de caracteres lidos


3. fechar(): Este método é usado para fechar o leitor

Sintaxe:

fechamento de vazio público()

  • Parâmetro: Este método não aceita nenhum parâmetro
  • Tipo de retorno: Este método não retorna nada.


4. marca(int readAheadLimit): Este método é usado para marcar a posição atual no fluxo

Sintaxe:

marca de vazio público (int readAheadLimit)

  • Parâmetro: Este método inclui um parâmetro readAheadLimit que especifica o número máximo de caracteres que podem ser lidos antes que a posição da marca se torne inválida.
  • Tipo de retorno: Este método não retorna nada


5. pular (n longo): Este método é usado para pular um certo número de caracteres.

Sintaxe:

salto longo público (n longo)

caracteres de escape java
  • Parâmetro: Este método inclui um parâmetro longo n que é o número de caracteres a serem ignorados no fluxo.
  • Tipo de retorno: Este método retorna o número de caracteres que foram ignorados


6. redefinir (): Este método é usado para voltar à posição onde mark() foi chamado.

Sintaxe:

redefinição de vazio público ()

  • Parâmetro: Este método não aceita nenhum parâmetro
  • Tipo de retorno: Este método não retorna nada


7. marcaSuportada(): Este método informa se o stream suporta marcação ou não

Sintaxe:

marca booleana públicaSupported()

  • Parâmetro: Este método não aceita nenhum parâmetro
  • Tipo de retorno: Este método retorna falso porque a marcação não é suportada.


8. pronto(): Este método verifica se o fluxo está pronto para leitura ou não.

Sintaxe:

booleano público pronto()

  • Parâmetro: Este método não aceita nenhum parâmetro
  • Tipo de retorno: Este método retorna verdadeiro se o fluxo estiver pronto.


9. não lido (int c): Este método é usado para enviar o personagem de volta ao fluxo.

Sintaxe:

público vazio não lido (int c)

  • Parâmetro: Este método usa um único parâmetro que é c, que é o caractere a ser enviado de volta ao fluxo.
  • Tipo de retorno: Este método não retorna nada.


10. não lido(char[] carray): Este método é usado para enviar uma matriz de caracteres de volta ao fluxo.

o que é conectado automaticamente em java

Sintaxe:

public void não lido(char[] carray)

  • Parâmetro: Este método leva uma matriz de caracteres para ser enviada de volta ao fluxo.
  • Tipo de retorno: Este método não retorna nada.


Programa Java para demonstrar os métodos PushbackReader

Exemplo:

Java
// Demonstrating the working // of methods of PushbackReader class import java.io.*; public class Geeks {  public static void main(String[] args) throws IOException {  String s = 'GeeksForGeeks';  StringReader sr = new StringReader(s);  PushbackReader pr = new PushbackReader(sr);  // Check if the stream is ready  System.out.println('Is the stream ready? ' + pr.ready());  // Use read() and skip()  System.out.print('Using read() and skip(): ');  for (int i = 0; i < 3; i++) {  char c = (char) pr.read(); // Read 1 char  System.out.print(c);  pr.skip(1); // Skip next char  }  char c = (char) pr.read(); // read next char after 3 skip cycles  System.out.print(c);   // Now read() with array – only 1 char expected  char[] arr = new char[1];  pr.read(arr);  System.out.println('nUsing read() with an array: ' + new String(arr));  // Unread and read back  pr.unread('F');  char nextChar = (char) pr.read();  System.out.println('After unread() the next character: ' + nextChar);  // Close the reader  pr.close();  } } 

Saída
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F 
Criar questionário