מחלקות Java FileWriter ו- FileReader משמשות לכתיבה ולקריאת נתונים מקובצי טקסט (הם זרם תווים שיעורים). זה מומלץ לֹא כדי להשתמש במחלקות FileInputStream ו-FileOutputStream אם עליך לקרוא ולכתוב מידע טקסטואלי כלשהו שכן אלו הן מחלקות זרם Byte.
FileWriter
FileWriter שימושי ליצירת קובץ שכותב בו תווים.
- מחלקה זו יורשת מהמחלקה OutputStream.
- הבנאים של מחלקה זו מניחים שקידוד התווים המוגדר כברירת מחדל וגודל ברירת המחדל של מאגר בתים מקובלים. כדי לציין ערכים אלה בעצמך בנו OutputStreamWriter על FileOutputStream.
- FileWriter מיועד לכתיבת זרמים של תווים. עבור כתיבת זרמים של בתים גולמיים שקול להשתמש ב- FileOutputStream.
- FileWriter יוצר את קובץ הפלט אם הוא לא קיים כבר.
בונים:
- מחלקה זו עברה בירושה ממחלקת InputStreamReader.
- הבנאים של מחלקה זו מניחים שקידוד התווים המוגדר כברירת מחדל וגודל ברירת המחדל של מאגר בתים מתאימים. כדי לציין ערכים אלה בעצמך בנה InputStreamReader על FileInputStream.
- FileReader מיועד לקריאת זרמים של תווים. לקריאת זרמים של בתים גולמיים שקול להשתמש ב- FileInputStream.
שיטות:
קריאה וכתיבה מתקיימים תו אחר תו מה שמגדיל את מספר פעולות ה-I/O ומשפיע על ביצועי המערכת. BufferedWriter ניתן להשתמש יחד עם FileWriter כדי לשפר את מהירות הביצוע.
התוכנית הבאה מתארת כיצד ליצור קובץ טקסט באמצעות FileWriter
// Creating a text File using FileWriter import java.io.FileWriter; import java.io.IOException; class CreateFile { public static void main(String[] args) throws IOException { // Accept a string String str = 'File Handling in Java using '+ ' FileWriter and FileReader'; // attach a file to FileWriter FileWriter fw=new FileWriter('output.txt'); // read character wise from string and write // into FileWriter for (int i = 0; i < str.length(); i++) fw.write(str.charAt(i)); System.out.println('Writing successful'); //close the file fw.close(); } }
FileReader
FileReader שימושי לקריאת נתונים בצורה של תווים מקובץ 'טקסט'.
בונים:
שיטות:
פרמטרים:
cbuf - מאגר יעד
כבוי - היסט שבו מתחילים לאחסן תווים
len - מספר תווים מקסימלי לקריאה
פרמטרים:
n - מספר התווים שיש לדלג עליהם
התוכנית הבאה מתארת כיצד לקרוא מקובץ 'טקסט' באמצעות FileReader
// Reading data from a file using FileReader import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; class ReadFile { public static void main(String[] args) throws IOException { // variable declaration int ch; // check if File exists or not FileReader fr=null; try { fr = new FileReader('text'); } catch (FileNotFoundException fe) { System.out.println('File not found'); } // read from FileReader till the end of file while ((ch=fr.read())!=-1) System.out.print((char)ch); // close the file fr.close(); } }
צור חידון