Dart Academy · درس

قراءة الملفات وكتابتها

تحميل النصوص والبايتات وحفظها

الدرس 1 من 413 خطوة

قراءة الملفات وكتابتها درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.

لماذا dart:io

للوصول إلى الملفات الفعلية من برنامج سطر أوامر، استوردوا dart:io. فهو يمنح Dart القدرة على قراءة القرص والكتابة إليه.

import 'dart:io';

تعرّفوا إلى الصنف File

يشير الكائن File إلى مسار على القرص. ولا يؤدي إنشاؤه إلى فتح أي شيء أو قراءته بعد؛ بل يحدد الهدف فقط.

final file = File('notes.txt');

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

استخدموا readAsString لقراءة ملف نصي كامل في String واحد. وتعيد الطريقة Future، لذا تنتظرون النتيجة باستخدام await.

final text = await file.readAsString();

القراءة سطرًا سطرًا

هل تفضلون قائمة من الأسطر؟ تمنحكم readAsLines كل سطر في String مستقل، وهو مثالي لمعالجة الأسطر واحدًا تلو الآخر.

final lines = await file.readAsLines();

كتابة النص

لحفظ النص، استدعوا writeAsString. فهي تنشئ الملف إذا لم يكن موجودًا، وتستبدل أي محتوى موجود افتراضيًا.

await file.writeAsString('Hello, disk!');

الإضافة بدل الاستبدال

هل تريدون الاحتفاظ بالنص القديم وإضافة المزيد؟ مرروا FileMode.append كي يُضاف المحتوى الجديد في النهاية.

await file.writeAsString('line\n', mode: FileMode.append);

التعامل مع البايتات

ليست الملفات نصوصًا دائمًا. استخدموا readAsBytes للحصول على البيانات الخام في صورة قائمة من الأعداد الصحيحة للصور أو التنسيقات الثنائية.

final bytes = await file.readAsBytes();

التحقق من وجود الملف أولًا

تؤدي قراءة ملف مفقود إلى طرح استثناء. احموا برنامجكم بالتحقق من exists قبل التعامل مع الملف أصلًا.

if (await file.exists()) { /* safe to read */ }

الإصدارات المتزامنة

لكل طريقة غير متزامنة نظير حاجب مثل readAsStringSync. وهذا مفيد في البرامج النصية الصغيرة، لكنه يجمّد كل شيء أثناء تنفيذه.

final text = file.readAsStringSync();

الحذف وإعادة التسمية

نظّفوا الملفات باستخدام delete، أو انقلوا ملفًا باستدعاء rename مع مسار جديد. وتعُد كلتا الطريقتين Future يمكنكم انتظارها.

await file.rename('archive.txt');

اختيار الترميز المناسب

تستخدم طرق النصوص utf8 افتراضيًا. أما الترميزات الأخرى، فمرروا ترميزًا صريحًا كي تبقى الأحرف المشكولة أو الخاصة سليمة أثناء القراءة والكتابة.

await file.writeAsString(s, encoding: latin1);

تحقق سريع

تريدون إضافة سطر إلى سجل دون محو المحتوى الموجود. أي خيار يحقق ذلك؟

مراجعة

يمكنكم الآن قراءة الملفات بصيغة String أو أسطر أو بايتات، وكتابة النص أو إلحاقه، والتحقق باستخدام exists. وهذه هي أساسيات إدخال وإخراج الملفات.

البدء مجانًا

تعلم Dart مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «قراءة الملفات وكتابتها» مجاني؟

نعم — نص درس «قراءة الملفات وكتابتها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.

ماذا ستتعلم في «قراءة الملفات وكتابتها»؟

تحميل النصوص والبايتات وحفظها تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟

لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «قراءة الملفات وكتابتها»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟

نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. قراءة الملفات وكتابتها
  2. الأدلة والمسارات وFileSystemEntity
  3. بث الملفات الكبيرة
  4. ‏Stdin وStdout ووسائط Process
← العودة إلى Dart Academy