logo

כיתת Java PushbackReader

ה שיעור PushbackReader ב-Java הוא חלק מה- java.io.package ומשמש לקריאת תווים מזרם. מחלקה זו מאפשרת לנו לדחוף דמויות בחזרה לזרם.

תכונות של PushbackReader Class:

  • מחלקה זו משתמשת במאגר המאפשר לנו לדחוף תווים בחזרה לזרם.
  • שיעור זה מצוין לקריאת טקסט ולבדיקת תווים מבלי להשתמש בהם מיד. אם הדמות אינה נחוצה ניתן לדחוק אותה לאחור.

דוּגמָה:



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

תְפוּקָה
Read character: H Read character again: H Next character: e 


הצהרת מחלקת PushbackReader

מחלקת ההצהרה של PushbackReader רשומה להלן:

מיון מעטפת

מחלקה ציבורית PushbackReader מרחיבה את FilterReader

כל הממשקים המיושמים:

  • ניתן לסגירה: ממשק זה משמש לשחרור משאבים
  • ניתן לסגירה אוטומטית: ממשק זה מאפשר סגירה אוטומטית בהצהרת נסה עם משאבים.
  • קָרִיא: ממשק זה משמש לקריאת נתונים מהאובייקט.

קונסטרוקטים ב-PushbackReader

מחלקה זו מורכבת משני בנאים שבעזרתם נוכל ליצור אובייקט של מחלקה זו בדרכים שונות. להלן הבנאים הזמינים במחלקה זו:

1. PushbackReader (דחיפה של הקורא): הבנאי הזה משמש ליצירת PushbackReader חדש עם מאגר דחיפה המוגדר כברירת מחדל.

תַחבִּיר:

Public PushbackReader (דחיפת קורא)

דוּגמָה:

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

תְפוּקָה
Hello World!


2. PushbackReader (גודל דחיפה של הקורא): בנאי זה מאפשר לנו לציין את גודל מאגר הדחיפה

תַחבִּיר:

Public PushbackReader (גודל דחיפה של הקורא)

דוּגמָה:

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

תְפוּקָה
Hello World!


Powershell גדול או שווה

שיטות Java PushbackReader

התמונה למטה מדגימה את השיטות של המחלקה CharArrayWriter.

io.PushbackReader Class ב-Java' title=


כעת נדון בפירוט על כל שיטה בזה אחר זה:

1. קרא(): שיטה זו משמשת לקריאת תו אחד בכל פעם מהזרם

תַחבִּיר:

public int read()

  • פָּרָמֶטֶר: שיטה זו אינה לוקחת שום פרמטר.
  • סוג החזרה: שיטה זו מחזירה את התו הנקרא כמספר שלם או מחזירה -1 כאשר מגיעים לסוף הזרם.


2. read(char[] carray int offset int maxlen): שיטה זו משמשת לקריאת חלק של תווים.

תַחבִּיר:

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

  • פָּרָמֶטֶר: שיטה זו כוללת שלושה פרמטרים המפורטים להלן
    • char[] carray: זהו מערך תווים שבו יהיו דמויות שנקראו מְאוּחסָן.
    • int offset: זוהי נקודת ההתחלה במערך
    • int maxlen: זהו המספר המרבי של תווים לקריאה.
  • סוג החזרה: שיטה זו מחזירה את מספר התווים שנקראו


מעלה

3. סגור(): שיטה זו משמשת לסגירת הקורא

תַחבִּיר:

public void close()

  • פָּרָמֶטֶר: שיטה זו אינה לוקחת שום פרמטר
  • סוג החזרה: השיטה הזו לא מחזירה כלום.


4. mark(int readAheadLimit): שיטה זו משמשת לסימון המיקום הנוכחי בזרם

תַחבִּיר:

סימן ריק ציבורי (int readAheadLimit)

  • פָּרָמֶטֶר: שיטה זו כוללת פרמטר אחד readAheadLimit המציין את המספר המרבי של תווים שניתן לקרוא לפני שמיקום הסימון הופך לבלתי חוקי.
  • סוג החזרה: השיטה הזו לא מחזירה כלום


5. דלג (לאורך n): שיטה זו משמשת כדי לדלג על מספר מסוים של תווים.

תַחבִּיר:

דילוג ארוך ציבורי(לונג n)

  • פָּרָמֶטֶר: שיטה זו כוללת פרמטר אחד ארוך n שהוא מספר התווים שיש לדלג בזרם.
  • סוג החזרה: שיטה זו מחזירה את מספר התווים שדילג עליהם


6. איפוס(): שיטה זו משמשת כדי לחזור למיקום שבו נקרא mark() .

sdlc

תַחבִּיר:

public void reset()

  • פָּרָמֶטֶר: שיטה זו אינה לוקחת שום פרמטר
  • סוג החזרה: השיטה הזו לא מחזירה כלום


7. markSupported(): שיטה זו אומרת אם הזרם תומך בסימון או לא

תַחבִּיר:

mark Boolean publicSupported()

  • פָּרָמֶטֶר: שיטה זו אינה לוקחת שום פרמטר
  • סוג החזרה: שיטה זו מחזירה false מכיוון שהסימון אינו נתמך.


8. מוכן(): שיטה זו בודקת אם הזרם מוכן לקריאה או לא.

תַחבִּיר:

מוכן בוליאני ציבורי()

  • פָּרָמֶטֶר: שיטה זו אינה לוקחת שום פרמטר
  • סוג החזרה: שיטה זו מחזירה אמת אם הזרם מוכן.


9. unread(int c): שיטה זו משמשת לדחיפת דמות חזרה לזרם.

תַחבִּיר:

ריק ציבורי שלא נקרא (int c)

  • פָּרָמֶטֶר: שיטה זו לוקחת פרמטר בודד שהוא c שהוא התו שיידחף חזרה לזרם.
  • סוג החזרה: השיטה הזו לא מחזירה כלום.


10. unread(char[] carray): שיטה זו משמשת לדחיפת מערך תווים בחזרה לזרם.

תַחבִּיר:

public void unread(char[] carray)

  • פָּרָמֶטֶר: שיטה זו מצריכה מערך של תווים שיידחפו חזרה לזרם.
  • סוג החזרה: השיטה הזו לא מחזירה כלום.


תוכנית Java להדגמת שיטות PushbackReader

דוּגמָה:

היכן מקש הכנס במקלדת המחשב הנייד
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();  } } 

תְפוּקָה
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F 
צור חידון