Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Javaالكلاس FileReader في جافا

الكلاس FileReader يرث من الكلاسات InputStreamReader و Reader و هو يستخدم لقراءة Streams من الأحرف.


الكلاس FileReader يحتوي على الـ constructors المذكورين في الجدول التالي.

الكونستركتور مع تعريفه
1 public FileReader(File file) ينشئ كائن نوعه FileReader يستخدم للقراءة من كائن الـ File.
2 public FileReader(String fileName) ينشئ كائن نوعه FileReader يستخدم للقراءة من الملف الذي يشير إليه كائن الـ String.
3 public FileReader(FileDescriptor fd) ينشئ كائن نوعه FileReader يستخدم للقراءة من كائن الـ FileDescriptor.


بما أن الكلاس FileReader يرث من الكلاسات InputStreamReader و Reader, يمكنك إستدعاء الدوال التي سيرثها هذا الكائن من هذه الكلاسات.

مثال

في هذا المثال سنقوم بإنشاء ملف جديد و كتابة نص صغير فيه, ثم سنقوم بقراءة النص من الملف.

Main.java
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
 
public class Main {
 
    public static void main(String[] args) {
 
        try {
            // لإنشاء ملف و الكتابة فيه لاحقاً FileWriter هنا قمنا بإنشاء كائن نوعه
            FileWriter fw = new FileWriter("c:\\MyFiles\\test.txt");
 
            // هنا قمنا بكتابة نص في الملف ثم قمنا بتفريغ الذاكرة و إغلاق الكائن المتصل بالملف
            fw.write("first line.\nsecond line.\nthird line.");
            fw.flush();
            fw.close();
 
            // يسمح بالقراءة من الملف fr يشير إلى الملف, إذا الكائن FileReader هنا قمنا بإنشاء كائن نوعه
            FileReader fr = new FileReader("c:\\MyFiles\\test.txt");
 
            // هنا قمنا بإنشاء حلقة تمر على جميع أحرف الملف, في كل دورة تقرأ حرف من الملف ثم تعرضه و بعدها قمنا بإغلاق الكائن المتصل بالملف
            int c;
            while ((c = fr.read()) != -1) {
                System.out.print((char)c);
            }
            fr.close();
        }
        catch(IOException e) {
            System.out.println("There is IOException!");
        }
 
    }
 
}

سنحصل على النتيجة التالية عند التشغيل.

first line.
second line.
third line.