معالجة الملفات في Java: كيفية التعامل مع ملفات Java؟

نشرت: 2021-03-12

Java هي لغة برمجة شائعة على نطاق واسع. إلى جانب العمارة والمكونات القوية ، فإن أحد أهم الأسباب وراء نجاحها وشعبيتها هو دعمها للعديد من الوظائف. تعد معالجة الملفات في Java إحدى هذه الوظائف التي تتيح لنا العمل مع الملفات. اليوم ، سنتعرف على العمليات المختلفة التي يمكننا إجراؤها باستخدام مفاهيم الملفات في Java .

جدول المحتويات

ما هي معالجة ملفات جافا؟

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

يمكنك الوصول إلى فئة الملف هذه واستخدامها لأداء وظائف مختلفة عن طريق إنشاء كائن وتوفير اسم الملف أو الدليل. بناء الجملة لإنشاء كائن واستخدام فئة الملف هو:

استيراد ملف java.io.

ملف obj = ملف جديد (“name.txt”) ؛

كما هو موضح في بناء الجملة أعلاه ، تحتاج أولاً إلى استيراد فئة الملف من حزمة Java.io. بمجرد الاستيراد ، كل ما عليك فعله هو إنشاء كائن وتحديد اسم الملف أو الدليل الذي تريد العمل معه. لذكر اسم الدليل في نظام تشغيل Windows ، يجب عليك استخدام "\\." على سبيل المثال ، يجب عليك استخدام " C: \\ Users \\ MyFolder \\ MySubFolder " وليس " C: \ Users | MyFolder | MySubFolder ." ومع ذلك ، بالنسبة لأنظمة التشغيل الأخرى مثل Linux ، يمكنك استخدام المفردة \ كالمعتاد.

تتم جميع عمليات الإدخال / الإخراج (الإدخال / الإخراج) لمفاهيم الملفات في Java بمساعدة التدفق. دعونا نتعمق في ما هو التدفق ، وكيف يتم تنفيذ هذه العمليات معه؟

ما هو مفهوم التدفقات في جافا؟

بعبارات أبسط ، الدفق هو سلسلة من البيانات. هناك نوعان من الدفق ، وهما:

  • دفق البايت : يعمل هذا النوع من الدفق مع بيانات البايت. يتم تنفيذ عمليات الإدخال / الإخراج باستخدام تدفق بايت عند قراءة البيانات أو كتابتها بتنسيق بايت (8 بت).
  • دفق الأحرف : يعمل هذا النوع من الدفق مع تسلسل الأحرف. يتم تنفيذ عمليات الإدخال / الإخراج باستخدام دفق أحرف عند قراءة البيانات أو كتابتها باستخدام الأحرف.

تسجيل الخروج: أهم مشروعات Java على GitHub

ما هي الطرق المختلفة المتاحة لمعالجة الملفات في جافا؟

توفر فئة الملف طرقًا متنوعة محددة مسبقًا لمساعدتك في تنفيذ جميع عمليات الإدخال / الإخراج بمجرد الاتصال بهم. يوضح الجدول أدناه جميع الأساليب ، جنبًا إلى جنب مع الإجراءات التي يؤدونها.

طريقة اكتب وصف
canRead () قيمة منطقية يتحقق مما إذا كان يمكنك قراءة الملف أم لا.
يستطيع الكتابة() قيمة منطقية يختبر ما إذا كان يمكنك الكتابة في الملف أم لا.
createNewFile () قيمة منطقية سيؤدي هذا إلى إنشاء ملف فارغ جديد.
حذف() قيمة منطقية ستؤدي هذه الطريقة إلى حذف الملف المحدد.
موجود () قيمة منطقية يتحقق مما إذا كان الملف المذكور موجودًا.
getName () سلسلة يعود اسم الملف.
getAbsolutePath () سلسلة إرجاع اسم المسار المطلق للملف.
الطول() طويل تقوم بإرجاع حجم الملف بالبايت.
قائمة() سلسلة[] يقوم بإرجاع قائمة بأسماء الملفات الموجودة في الدليل.
مكدير () قيمة منطقية ستعمل هذه الطريقة على إنشاء دليل جديد.

كيف يتم تنفيذ عمليات معالجة ملفات جافا المختلفة؟

نظرًا لأنك تعرف الطرق المختلفة المتوفرة في فئة الملفات ، فقد حان الوقت لاستخدامها لإجراء عمليات معالجة ملفات Java المختلفة . لتبدأ ، يمكنك إكمال الإجراءات التالية على ملف.

  • قم بإنشاء ملف جديد.
  • احصل على معلومات الملف.
  • اكتب في ملف.
  • اقرأ من ملف.
  • احذف ملفًا.

سنستعرض مثالاً لأداء كل من هذه العمليات. في المثال الأول ، سننشئ ملفًا جديدًا ثم نستخدم نفس الملف لأداء مهام أخرى.

إنشاء ملف

يمكنك إنشاء ملف باستخدام طريقة createNewFile (). سيؤدي تنفيذ الطريقة إلى إرجاع إما صواب أو خطأ. إذا تم إنشاء الملف بنجاح ، فسيعود. من ناحية أخرى ، إذا كان الملف موجودًا بالفعل ، فسيعيد خطأ.

يُنصح دائمًا باستخدام هذه الطريقة داخل كتلة try and catch حيث يمكنها طرح استثناء إذا لم يتم إنشاء الملف بنجاح. يمكنك معرفة المزيد عنها في دليلنا حول معالجة الاستثناءات في Java . انظر المثال أدناه الذي يستخدم طريقة createNewFile () لإنشاء ملف فارغ جديد.

استيراد ملف java.io. // استيراد فئة الملف

استيراد java.io.IOException ؛ // استيراد فئة IOException لمعالجة الأخطاء

CreateFileExample للفئة العامة {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

يحاول{

ملف obj = ملف جديد (“newFile.txt”) ؛

if (obj.createNewFile ()) {// إذا كانت تُرجع صحيحًا ، أي تم إنشاؤها بنجاح

System.out.println (“تم إنشاء الملف بنجاح:” + obj.getName ())؛

}

else {// إذا قام بإرجاع خطأ ، أي أن الملف موجود بالفعل

System.out.println ("الملف موجود بالفعل") ؛

}

}

catch (IOException e) {// لالتقاط الاستثناءات في حالة حدوث أي خطأ

System.out.println ("حدث خطأ") ؛

e.printStackTrace () ،

}

}

}

انتاج:

تم إنشاء الملف بنجاح: newFile.txt

الحصول على معلومات الملف

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

استيراد ملف java.io.

نموذج AccessInfoExample للفئة العامة {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

// إنشاء كائن

ملف obj = ملف جديد (“newFile.txt”) ؛

إذا (obj.exists ()) {

// الحصول على اسم الملف

System.out.println (“اسم الملف هو:” + obj.getName ())؛

// الحصول على المسار المطلق

System.out.println ("المسار المطلق للملف هو:" + obj.getAbsolutePath ())؛

// التحقق مما إذا كان الملف قابل للكتابة

System.out.println ("هل الملف قابل للكتابة؟" + obj.canWrite ())؛

// التحقق مما إذا كان الملف قابلاً للقراءة

System.out.println ("هل الملف قابل للقراءة؟" + obj.canRead ())؛

// الحصول على الطول بالبايت

// سيظهر 0 لأننا لم نكتب أي شيء في ملفنا حتى الآن

System.out.println (“حجم الملف بالبايت:” + obj.length ())؛

}

آخر{

System.out.println ("الملف المسمى" + obj.getName () + "غير موجود.") ؛

}

}

}

انتاج:

اسم الملف هو: newFile.txt

المسار المطلق للملف هو: D: JavaProgramming: newFile.txt

هل الملف قابل للكتابة؟ صحيح

هل الملف قابل للقراءة؟ صحيح

حجم الملف بالبايت: 0

قد يختلف إخراج المثال أعلاه اعتمادًا على اسم الملف والمسار الذي حفظته فيه والحجم. إذا كان الملف المحدد غير موجود ، فسيظهر "الملف المسمى newFile.txt غير موجود."

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

لكتابة بيانات بايت ، استخدم فئة FileOutputStream ، وبالنسبة للأحرف ، استخدم فئة FileWriter. في المثال أدناه ، سنستخدم فئة FileWriter وطريقة الكتابة () المحددة مسبقًا الخاصة بها لكتابة شيء ما داخل "الملف الجديد".

شيء واحد يجب ملاحظته قبل البدء بالمثال هو أنه عندما تفتح ملفًا للكتابة ، فأنت بحاجة إلى إغلاقه بطريقة الإغلاق (). يتيح لك إغلاق الملف استرداد الموارد التي خصصها مترجم Java للكتابة في ملف. دعونا نلقي نظرة على كيفية القيام بذلك في المثال.

استيراد java.io.FileWriter ؛ // استيراد فئة FileWriter

استيراد java.io.IOException ؛ // استيراد فئة IOException لمعالجة الأخطاء

فئة عامة WriteExample {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

يحاول{

FileWriter obj = new FileWriter (“newFile.txt”)؛

obj.write ("سيتم كتابة هذا في ملف newFile.txt!") ؛

obj.close () ؛ // إغلاق الملف

System.out.println ("نجحنا في الكتابة في الملف وإغلاقه") ؛

}

catch (IOException e) {

System.out.println ("حدث خطأ.") ؛

e.printStackTrace () ،

}

}

}

انتاج:

لقد نجحنا في الكتابة في الملف وإغلاقه.

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

يمكنك استخدام FileInputStream لقراءة بيانات البايت و FileReader لقراءة بيانات الأحرف من ملف. بدلاً من ذلك ، يمكنك أيضًا استخدام فئة الماسح للقراءة من ملف. نظرًا لأننا استخدمنا بالفعل FileWriter لكتابة البيانات ، فسنستخدم فئة Scanner لقراءة البيانات في هذا المثال. كما هو الحال أثناء الكتابة ، فإن إغلاق الملف المفتوح ضروري أثناء القراءة أيضًا.

استيراد ملف java.io. // استيراد فئة الملف

استيراد java.io.FileNotFoundException ؛ // استيراد الصنف لمعالجة الأخطاء

استيراد java.util.Scanner ؛ // استيراد فئة الماسح لقراءة الملفات النصية

مثال للقراءة العامة {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

يحاول{

ملف obj = ملف جديد (“newFile.txt”) ؛

الماسح robj = الماسح الجديد (obj) ؛

بينما (robj.hasNextLine ()) {

سلسلة dataInfo = robj.nextLine () ،

System.out.println (dataInfo) ؛

}

robj.close () ؛

}

catch (FileNotFoundException e) {

System.out.println ("حدث خطأ.") ؛

e.printStackTrace () ،

}

}

}

انتاج:

سيتم كتابة هذا في ملف newFile.txt!

حذف ملف

يمكنك حذف ملف باستخدام طريقة delete () لفئة File. يمكنك أيضًا حذف مجلد بأكمله إذا كان فارغًا. دعنا نحذف ملفنا "newFile.txt" في المثال أدناه.

استيراد ملف java.io. // استيراد فئة الملف

فئة عامة DeleteExample {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

ملف obj = ملف جديد (“newFile.txt”) ؛

إذا (obj.delete ()) {

System.out.println ("تم حذف الملف المسمى" + obj.getName () + "بنجاح.") ؛

}

آخر{

System.out.println ("لم يتم حذف الملف.") ؛

}

}

}

انتاج:

تم حذف الملف المسمى newFile.txt بنجاح.

اقرأ أيضًا: أفكار وموضوعات مشروع Java

تعلم دورات البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

خاتمة

في هذا المنشور ، تعلمت كل شيء عن معالجة الملفات في Java . توفر Java العديد من هذه الوظائف ، مما يجعلها واحدة من أكثر لغات البرمجة شيوعًا في جميع أنحاء العالم. وبالتالي ، فليس من المستغرب أن يكون راتب مطوري Java في الهند مرتفعًا جدًا. إذا كنت تريد أن تصبح مطور Java وتحصل على حزمة راتب مرتفع ، فإن دورة Java المجانية عبر الإنترنت من upGrad مناسبة لك.

تعد الدورة جزءًا من برنامج upStart ، وهو مبادرة لا تقدر بثمن لتحسين المهارات. بمجرد الانتهاء من الدورة التدريبية المجانية والحصول على الشهادة ، يمكنك أيضًا اختيار شهادة upGrad's PG في تطوير Full-Stack . تحصل على أكثر من 400 ساعة من المواد التعليمية مع خبرة عملية من خلال المشاريع. خذ الدورة وتفوق في مجال تطوير البرمجيات باستخدام مفاهيم برمجة Java.

كيف تقرأ وتكتب الملفات في جافا؟

يمثل كائن من فئة InputStream مصدرًا للبيانات يمكن من خلاله قراءة البايت ، ويمثل كائن من فئة OutputStream وجهة يمكن كتابة البايت لها. تُستخدم هذه الكائنات مع فئات مختلفة من حزمة java.io لقراءة الملفات وكتابتها ، وقراءة البيانات وكتابتها من المقابس ، وتنفيذ مجموعة متنوعة من عمليات الإدخال والإخراج الأخرى.

ما هي مكتبات معالجة الملفات المختلفة في Java؟

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

ما هي تطبيقات معالجة الملفات في جافا؟

يعد التعامل مع الملفات أحد موضوعات برمجة Java العديدة الشيقة والقيّمة. من الضروري لمبرمجي Java معرفة كيفية إنشاء ملف وفتحه وقراءته وكتابته وإلحاقه وحذفه في Java. يساعد هذا المبرمجين على معالجة البيانات في ملف. هناك العديد من العمليات التي يمكن إجراؤها على الملف ، مثل معرفة طول الملف ، وقراءة محتوى الملف ، وتحديد ما إذا كان الملف قابلاً للكتابة وما إلى ذلك.