الأدلة والمسارات وFileSystemEntity
التنقل في نظام الملفات وفحصه
الأدلة والمسارات وFileSystemEntity درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.
صنف Directory
كما يحدد File ملفًا، يحدد الصنف Directory مجلدًا. وتنشئون كائنًا منه باستخدام سلسلة مسار، ليصبح جاهزًا للفحص أو الإنشاء.
final dir = Directory('logs');إنشاء مجلد
استدعوا create لإنشاء المجلد. وأضيفوا recursive: true، وسيُنشئ Dart جميع المجلدات الأب المفقودة نيابةً عنكم دفعة واحدة.
await dir.create(recursive: true);أين يعمل البرنامج؟
هل تحتاجون إلى المجلد الذي بدأ منه برنامجكم؟ تمنحكم Directory.current دليل العمل، وهو نقطة الانطلاق للمسارات النسبية.
print(Directory.current.path);عرض محتويات المجلد
استخدموا list لبث محتويات المجلد. وكل حدث هو كيان يمكنكم فحصه واحدًا تلو الآخر.
await for (final e in dir.list()) print(e.path);التعمق باستخدام recursive
مرروا recursive: true إلى list لاستعراض المجلدات الفرعية أيضًا، والتنقل في الشجرة كاملةً أسفل دليلكم.
dir.list(recursive: true);FileSystemEntity، الصنف الأب
يمتد كل من الملفات والمجلدات من FileSystemEntity. وهذا الأساس المشترك هو سبب تمكّن list من تسليم أيٍّ منهما في تدفق واحد.
ما نوع هذا الكيان؟
لتمييز الملف من المجلد، استخدموا FileSystemEntity.isDirectory أو تحققوا من نوع الكيان. وهذا يحافظ على سلامة التفرعات في الحلقات.
if (await FileSystemEntity.isDirectory(e.path)) {}ضمّ المسارات بأمان
لا تدمجوا المسارات باستخدام السلاسل النصية العادية. إذ تضم حزمة path الأجزاء باستخدام الفاصل الصحيح لكل منصة.
import 'package:path/path.dart' as p;بناء مسار
استدعوا p.join مع كل جزء، لتحصلوا على مسار سليم وصحيح في Windows وmacOS وLinux على حد سواء.
final full = p.join('data', 'users', 'a.txt');تفكيك المسار
قسّموا المسار إلى أجزاء باستخدام مساعدات مثل p.basename لاسم الملف وp.dirname لمجلده.
print(p.basename('/data/a.txt'));الحصول على الامتداد
هل تحتاجون إلى اللاحقة فقط؟ تعيد p.extension اللاحقة مع النقطة، مما يسهّل تصفية الملفات حسب النوع.
print(p.extension('photo.png'));تحقق سريع
تحتاجون إلى مسار يعمل على منصات متعددة ومكوّن من عدة أجزاء. ما الطريقة الآمنة؟
مراجعة
يمكنكم إنشاء المجلدات، وسرد محتوياتها تكراريًا، والتمييز بين الملفات والمجلدات، وبناء المسارات بأمان باستخدام حزمة path.
تعلم Dart مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «الأدلة والمسارات وFileSystemEntity» مجاني؟
نعم — نص درس «الأدلة والمسارات وFileSystemEntity» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.
ماذا ستتعلم في «الأدلة والمسارات وFileSystemEntity»؟
التنقل في نظام الملفات وفحصه تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟
لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «الأدلة والمسارات وFileSystemEntity»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟
نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- قراءة الملفات وكتابتها
- الأدلة والمسارات وFileSystemEntity
- بث الملفات الكبيرة
- Stdin وStdout ووسائط Process