שיעור 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