שיעור Java Reader

שיעור Java Reader

כיתת Reader ב-Java היא an שיעור מופשט לקריאת זרמי תווים. תת המחלקות שלו ( FileReader BufferedReade ) מספקים יישומים כאשר read() הוא השיטה העיקרית לקריאת תווים.

  • הוא מיישם את הממשק הניתן לקריאה המגדיר את שיטת הקריאה (CharBuffer cb).
  • הוא מיישם את הממשק Closeable שמגדיר את שיטת close() לשחרור משאבים.
קוֹרֵא_קוֹרֵא

הצהרת כיתת הקוראים

הצהרת כיתת הקורא ניתנת להלן:

מחלקה מופשטת ציבורית Reader מיישמת Readable Closeable

דוּגמָה: קרא קובץ טקסט תו אחר תו באמצעות המחלקה Reader.

Java
   import     java.io.*  ;   public     class   Geeks     {      public     static     void     main  (  String  []     args  )      {      try     {          // Create a FileReader object which is a subclass of Reader      Reader     r     =     new     FileReader  (  'example1.txt'  );      // Read one character at a time from the file      int     data     =     r  .  read  ();      while     (  data     !=     -  1  )     {          // Convert the int to char and print      System  .  out  .  print  ((  char  )  data  );      data     =     r  .  read  ();      }      // Close the reader      r  .  close  ();      }      catch     (  Exception     ex  )     {      System  .  out  .  println  (  'An error occurred: '     +     ex  .  getMessage  ());      }      }   }   

פלט:

תְפוּקָהתְפוּקָה

פֶּתֶק: כדי להבטיח שהתוכנית פועלת כהלכה צור קובץ בשם example1.txt בספריית העבודה.

הוסף את התוכן הבא לקובץ או שאתה יכול להוסיף כל טקסט.

שלום ברוכים הבאים ל-Geeks for Geeks

שמור את הקובץ והפעל את התוכנית. התוכנית תקרא ותציג את התוכן של דוגמה1 .txt בתור פלט.

בוני כיתת קורא

ישנם שני בנאים בשימוש עם Java Reader Class כפי שהוזכר להלן:

  • קורא מוגן(): יוצר קורא תווים חדש שהקטעים הקריטיים שלו יסונכרנו על הקורא עצמו.
  • קורא מוגן (נעילת אובייקט) : יוצר קורא תווים חדש שהקטעים הקריטיים שלו יסונכרנו על האובייקט הנתון.

שיטות של Java Reader Class

שִׁיטָה תֵאוּר
מופשט void close() סוגר את הזרם ומשחרר משאבים.
סימן void (int readAheadLimit) מסמן את המיקום הנוכחי בזרם.
boolean markSupported() בודק אם פעולות סימון/איפוס נתמכות.
int read() קורא דמות אחת מהזרם. מחזירה -1 אם הסוף מגיע.
int read(char[] cbuf) קורא תווים מרובים לתוך מערך.
abstract int read(char[] cbuf int off int len) קורא חלק מהמערך מתחיל ב-offset off עבור אורך len.
int read (יעד CharBuffer) קורא תווים לתוך אובייקט CharBuffer.
void reset() מאפס את הזרם למצב הסימון האחרון.
דילוג ארוך (לונג n) דילוג על מספר התווים שצוין.

דוּגמָה: התוכנית להלן מדגימה את פעולתן של פונקציונליות שונות של מחלקת Reader ב-Java.

Java
   import     java.io.*  ;   import     java.nio.CharBuffer  ;   import     java.util.Arrays  ;   public     class   Geeks     {      public     static     void     main  (  String  []     args  )      throws     IOException      {      // Open a file reader      Reader     r     =     new     FileReader  (  'file.txt'  );      PrintStream     out     =     System  .  out  ;      // Create a character array and CharBuffer      char  []     buffer     =     new     char  [  10  ]  ;      CharBuffer     charBuffer     =     CharBuffer  .  wrap  (  buffer  );      // Check if the reader supports marking      if     (  r  .  markSupported  ())     {      r  .  mark  (  100  );     // Mark the current position      out  .  println  (  'mark method is supported'  );      }      // Skip 5 characters in the stream      r  .  skip  (  5  );      // Check if the stream is ready to read      if     (  r  .  ready  ())     {      // Read 10 characters into the buffer      r  .  read  (  buffer       0       10  );      out  .  println  (  'Buffer after reading 10 chars: '      +     Arrays  .  toString  (  buffer  ));      // Read characters into the CharBuffer      r  .  read  (  charBuffer  );      out  .  println  (      'CharBuffer contents: '      +     Arrays  .  toString  (  charBuffer  .  array  ()));      // Read a single character      out  .  println  (  'Next character: '      +     (  char  )  r  .  read  ());      }      // Close the reader      r  .  close  ();      }   }   

תְפוּקָה:

תְפוּקָהתְפוּקָה

יישום שיעורי קורא

חלק מהיישומים של שיעורי Reader ב-Java מוזכרים להלן:

  • BufferedReader
  • CharArrayReader
  • FilterReader
  • InputStreamReader
  • PipedReader
  • StringReader
צור חידון