recent
أخبار ساخنة

التعامل مع الملفات النصية في لغة جافا JAVA الدرس |18|

الصفحة الرئيسية

مفهوم الملفات النصية File I/O

 

مفهوم الملفات النصية File I/O

تعتبر البيانات النصية هي إحدى الأدوات المستخدمة لتخزين البيانات بشكل دائم, مثل المفكرة او ملفات txt أي مستند نصي يسمى ملف نصي و نعمل له حفظ يبقى موجود بالحاسب لفترة طويلة.

اليوم سنتعلم كيفية إنشاء ملفات نصية من داخل برنامج الجافا و كيفية الكتابة داخل هذا الملف النصي.

يعتبر الملف النصي هو أحد الوسائل المستخدمة لتخزين البيانات النصية الدائمة, سنتعلم على كيفية إنشاء الملف النصي و كتابة جملة بسيطة بداخله. و كيفية القراءة من الملف النصي و كيفية إضافة بيانات بشكل اكثر و التعامل مع الملفات النصية بإحتراف.

للتعامل مع الملفات النصية يجب أن نستخدم الحزمة io كالتالي

import java.io.FileWriter

و المقصود في io هي المصطلح input output, هذه المكتبة نستخدمها لإنشاء ملفات نصية و الكتابة داخلها و قراءة البيانات و التعامل مع الملفات النصية.


الكتابة على الملف النصي

package ioo;
import java.io.FileWriter;
class Ioo {
     public static void main(String[] args) {
          try{
       FileWriter fw=new FileWriter("E: programmertech.txt");
       fw.write("Data and kaissar and saja");
       fw.close();
          
          }catch(Exception e) {System.out.println(e.getMessage());}
     
     }
 }
الكتابة على الملف النصي لغة جافا java


في البداية إستدعينا الحزمة io عبر الأمر "import java.io.FileWriter" ثم دخلنا للبرنامج الرئيسي و حددنا مسار الملف عبر الكلاس FileWriter.

و كان مسار الحفظ في قرص D ثم قمنا بالكتابة داخل الملف عن طريق الدالة write عبر الكائن fw ثم أغلقنا الملف عبر fw.close و وضعنا الكود ما بين try و catch. تعرفنا عليهم بالدرس السابق و في حال حدوث خطأ يطبع لنا الإستثناء الذي حصل.


القراءة من الملف النصي

سوف نتعرف في هذا القسم على القراءة من الملف النصي و سوف نستخدم حزمة اخرى غير السابقة لتمكننا من القراءة من الملف النصي. (نستخدم هذه الحزمة فقط عندما نريد القراءة من ملف نصي) و تكتب بالشكل

import java.io.FileReader

مثال

package ioo;

import java.io.FileReader;
public class Ioo {

    public static void main(String[] args) {
        try{
            FileReader fr=new FileReader("E: programmertech.txt");
            int i;
            while((i=fr.read())!=-1)
                System.out.print((char)i);
        }catch(Exception e) {}
            
        }

}
القراءة من الملف النصي لغة جافا java


في هذا المثال إستخدمنا لقراءة الملف حزمة FileReader و إستخدمنا الكلاس FileReader ليمكننا من القراءة من الملف ثم أنشأنا كائن fr و حددنا مسار الملف في قرص E. و قمنا بإنشاء متغير أسميناه i يقوم بتحديد موقع الحرف عن طريق الدالة fr.read() و الدالة طالما تقرأ بيانات سوف تبقى تعيد قيمة غير 1- . عندما لا تجد بيانات و تنتهي من قراءة الملف, و هذا هو شرط الوقوف من اللوب يعني إستمر في القراءة طالما القيمة لا تساوي -1. بعد ذلك قمنا بطباعة البيانات الذي حصلنا عليها و قمنا بتحوير موقع الحرف إلى بيانات نصية ثم طبعناها.


مثال تطبيقي لدرس المصفوفات و الملفات النصية

package ioo;

import.java.io.BufferedWriter;  #خاص باضافة البيانات الى الملف
import.java.io.File;    #خاصة بانشاء الملف و تحديد مسار الملف
import.java.io.FileWriter;  #للكتابة داخل الملف
import.java.io.IOExeption;  #تستخدم لاصطياد الاخطاء غير المتعمدة
public class Ioo {

    public static void main(String[] args) {
        String []st_no={"1","2","3","4"};
        String []st_name={"data","kaissar","saja","wazeer"};
        File f=new File("E: programmertech.txt");
        
        try{
        BufferedWriter w=new BufferedWriter(new FileWriter(f));
        for(int i=0;i < st_no.length;i++)
        {
            w.write(st_no[i]);
            w.write("  ");
            w.write(st_name[i]);
            w.newLine();
        }
            w.close();
        }catch(IOExeption e) {}
    }

}
المصفوفات و الملفات النصية لغة جافا java

في البداية إستخدمنا اربع حزم في هذا المثال و هي الحزمة io.BufferedWriter و هي خاصة بإضافة البيانات إلى الملف و الحزمة io.File خاصة بإنشاء الملف و تحديد مساره. و الحزمة io.FileWriter من أجل الكتابة بداخل الملف و الحزمة io.IOExeption من أجل إصطياد الأخطاء غير المعتمدة.


ثم دخلنا بالبرنامج الرئيسي و أنشأنا مصفوفة إسمها st_no من أجل تعريف أرقام اربع طلاب و أنشأنا مصفوفة ثانية st_name لأجل أسماء الطلاب الأربع. ثم بدأنا بإنشاء الملف عبر الكلاس File و اعطيناه كائن object إسمه f ثم حددنا مساره و إسمه.

و بعده ضمننا الحزمة BufferedWriter و اعطيناها كائن إسمه w ثم إستخدمنا الكلاس FileWriter و أرسلنا إليه الكائن f الخاص بالملفات و وضعناهم ضمن try و catch كـ خيار إجباري لتجنب حدوث اي خطأ.

و ادخلناه بحلقة for لوب و بدأنا بعملية كتابة البيانات للملف عن طريق الكائن w الذي يتبع للكلاس BufferedWriter. و بعده انشأنا القيم عبر w.write إلى أن ينتهي اللوب و يساوي طول المصفوفة و إستخدمنا الدالة newLine لينزل سطر عند الإنتهاء من كل دورة ثم اغلقنا الملف عبر w.close.

google-playkhamsatmostaqltradent