العمل مع نظام الملفات في Java: دليل عملي

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

العمل مع نظام الملفات في Java: دليل عملي



العمل مع نظام الملفات هو أحد المهام الأساسية في البرمجة. في Java، توجد مجموعة أدوات قوية ومرنة لهذا الغرض، بدءًا من الحزمة الكلاسيكية java.io وصولاً إلى الحزمة الحديثة java.nio.file. في هذه المقالة، سنشرح من خلال أمثلة عملية كيفية إنشاء الملفات وقراءتها وكتابتها وحذفها، بالإضافة إلى العمل مع المجلدات.



1. فئة File: أساس العمل مع الملفات



فئة java.io.File هي الفئة الأساسية لتمثيل المسار إلى ملف أو مجلد. تتيح لك التحقق من الوجود، وإنشاء، وإعادة تسمية، وحذف كائنات نظام الملفات.



إنشاء ملف والتحقق من وجوده



import java.io.File;import java.io.IOException;

public class FileExample { public static void main(String[] args) { File file = new File("example.txt");

if (file.exists()) { System.out.println("الملف موجود: " + file.getAbsolutePath()); } else { try { if (file.createNewFile()) { System.out.println("تم إنشاء الملف: " + file.getName()); } } catch (IOException e) { System.err.println("خطأ في إنشاء الملف: " + e.getMessage()); } }

// التحقق من الخصائص System.out.println("قابل للقراءة: " + file.canRead()); System.out.println("قابل للكتابة: " + file.canWrite()); System.out.println("الحجم: " + file.length() + " بايت"); }}


العمل مع المجلدات



File dir = new File("my_directory");

if (dir.mkdir()) { System.out.println("تم إنشاء المجلد");}

// إنشاء مجلدات متداخلةFile nestedDir = new File("parent/child/grandchild");if (nestedDir.mkdirs()) { System.out.println("تم إنشاء المجلدات المتداخلة");}

// الحصول على قائمة الملفاتString[] files = dir.list();for (String fileName : files) { System.out.println(fileName);}


2. قراءة وكتابة الملفات باستخدام FileReader/FileWriter



للعمل مع الملفات النصية، من المناسب استخدام الفئات FileReader و FileWriter. تعمل هذه الفئات على مستوى الأحرف وتدعم الترميزات.



الكتابة في ملف



import java.io.FileWriter;import java.io.IOException;

public class WriteExample { public static void main(String[] args) { try (FileWriter writer = new FileWriter("output.txt", true)) { writer.write("مرحبًا بالعالم!"); writer.write("هذا هو السطر الثاني."); writer.flush(); System.out.println("تمت كتابة البيانات بنجاح"); } catch (IOException e) { System.err.println("خطأ في الكتابة: " + e.getMessage()); } }}


لاحظ: المعامل الثاني true في المُنشئ FileWriter يُفعّل وضع الإلحاق (append). إذا تم حذفه، سيتم إعادة كتابة الملف.



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



import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;

public class ReadExample { public static void main(String[] args) { try (BufferedReader reader = new BufferedReader(new FileReader("output.txt"))) { String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { System.err.println("خطأ في القراءة: " + e.getMessage()); } }}


استخدام BufferedReader يُسرّع بشكل كبير قراءة الملفات الكبيرة بفضل التخزين المؤقت.



3. النهج الحديث: java.nio.file (NIO.2)



بدءًا من Java 7، ظهرت الحزمة java.nio.file التي توفر أدوات أكثر ملاءمة وأداءً للعمل مع

المدونات

توصيات الكتب