logo

Java PushbackReader-klass

De PushbackReader klass i Java är en del av java.io.paket och används för att läsa tecken från en ström. Den här klassen låter oss trycka tillbaka karaktärer i strömmen.

Funktioner i PushbackReader Class:

  • Den här klassen använder en buffert som gör att vi kan trycka tillbaka tecken i strömmen.
  • Den här klassen är utmärkt för att läsa text och kontrollera tecken utan att använda dem direkt. Om karaktären inte behövs kan den skjutas tillbaka.

Exempel:



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();  }  } } 

Produktion
Read character: H Read character again: H Next character: e 


Deklaration av PushbackReader-klass

Declaration of PushbackReader-klassen listas nedan:

tkinter-knappen

public class PushbackReader utökar FilterReader

Alla implementerade gränssnitt:

  • Stängbar: Detta gränssnitt används för att frigöra resurser
  • Autostängbar: Det här gränssnittet tillåter automatisk stängning i ett försök-med-resurser-uttalande.
  • Läsbar: Detta gränssnitt används för att läsa data från objektet.

Konstruktörer i PushbackReader

Denna klass består av två konstruktorer med hjälp av vilka vi kan skapa objekt av denna klass på olika sätt. Följande är de konstruktörer som finns tillgängliga i den här klassen:

1. PushbackReader(Reader push): Denna konstruktor används för att skapa en ny PushbackReader med en standard pushback-buffert.

Syntax:

public PushbackReader(Reader push)

Exempel:

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();  }  } } 

Produktion
Hello World!


2. PushbackReader (Reader push int storlek): Denna konstruktor låter oss specificera storleken på pushback-bufferten

Syntax:

public PushbackReader(Reader push int storlek)

Exempel:

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();  }  } } 

Produktion
Hello World!


konvertera objekt till sträng

Java PushbackReader-metoder

Bilden nedan visar metoderna i klassen CharArrayWriter.

io.PushbackReader Class i Java' title=


Nu ska vi diskutera varje metod en efter en i detalj:

1. läs(): Denna metod används för att läsa ett tecken i taget från strömmen

Syntax:

public int read()

  • Parameter: Denna metod tar inte någon parameter.
  • Returtyp: Denna metod returnerar tecknet som läses som ett heltal eller returnerar -1 när slutet av strömmen nås.


2. read(char[] carray int offset int maxlen): Denna metod används för att läsa en del tecken.

Syntax:

public int read(char[] carray int offset int maxlen)

  • Parameter: Denna metod inkluderar tre parametrar som listas nedan
    • char[] carray: Det är en teckenuppsättning där lästa tecken kommer att finnas lagras.
    • int offset: Det är startpositionen i arrayen
    • int maxlen: Det är det maximala antalet tecken att läsa.
  • Returtyp: Denna metod returnerar antalet lästa tecken


linjär sökning i java

3. stäng(): Denna metod används för att stänga läsaren

Syntax:

public void close()

  • Parameter: Denna metod tar inte någon parameter
  • Returtyp: Denna metod returnerar ingenting.


4. mark(int readAheadLimit): Denna metod används för att markera den aktuella positionen i strömmen

Syntax:

public void mark (int readAheadLimit)

  • Parameter: Denna metod inkluderar en parameter readAheadLimit som anger det maximala antalet tecken som kan läsas innan markeringspositionen blir ogiltig.
  • Returtyp: Denna metod returnerar ingenting


5. hoppa över (långt n): Denna metod används för att hoppa över ett visst antal tecken.

Syntax:

offentligt långt hoppa (långt n)

  • Parameter: Denna metod inkluderar en parameter lång n som är antalet tecken att hoppa över i strömmen.
  • Returtyp: Denna metod returnerar antalet tecken som hoppas över


6. återställ(): Denna metod används för att gå tillbaka till positionen där mark() anropades.

jämförelse av lejon och tiger

Syntax:

public void reset()

  • Parameter: Denna metod tar inte någon parameter
  • Returtyp: Denna metod returnerar ingenting


7. markSupported(): Denna metod talar om om strömmen stöder märkning eller inte

Syntax:

public boolean markSupported()

  • Parameter: Denna metod tar inte någon parameter
  • Returtyp: Den här metoden returnerar false eftersom markering inte stöds.


8. redo(): Denna metod kontrollerar om strömmen är redo att läsas eller inte.

Syntax:

public boolean ready()

  • Parameter: Denna metod tar inte någon parameter
  • Returtyp: Denna metod returnerar sant om strömmen är klar.


9. oläst(int c): Denna metod används för att trycka tillbaka tecken i strömmen.

Syntax:

public void oläst(int c)

  • Parameter: Denna metod tar en enda parameter som är c ​​som är tecknet som ska tryckas tillbaka in i strömmen.
  • Returtyp: Denna metod returnerar ingenting.


10. oläst(char[] carray): Den här metoden används för att skjuta en rad tecken tillbaka i strömmen.

Syntax:

public void oläst(char[] carray)

  • Parameter: Den här metoden kräver att en rad tecken skjuts tillbaka in i strömmen.
  • Returtyp: Denna metod returnerar ingenting.


Java-program för att demonstrera PushbackReader-metoderna

Exempel:

söndra karta
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();  } } 

Produktion
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F 
Skapa frågesport