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