0Pricing
C# Academy · درس

System.IO (المسارات والتدفقات)

استخدم مساعدات Path، وتحقق من الوجود، واقرأ النصوص واكتبها باستخدام StreamReader/StreamWriter وعبارة using.

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

مقدمة إلى System.IO

الهدف: قراءة الملفات وكتابتها بأمان.

  • أنشئ المسارات باستخدام Path
  • تحقق باستخدام File/Directory
  • استخدم StreamReader/StreamWriter داخل كتلة using

أساسيات Path

استخدم Path.Combine وما شابهها لتجنب الفواصل اليدوية وفحص أجزاء المسار.

using System;
using System.IO;

public class Program
{
  public static void Main(string[] args)
  {
    // Build a safe path (handles separators)
    string folder = "data";
    string file = "notes.txt";
    string path = Path.Combine(folder, file);

    Console.WriteLine("File name: " + Path.GetFileName(path));
    Console.WriteLine("Directory: " + Path.GetDirectoryName(path));
    Console.WriteLine("Full path: " + Path.GetFullPath(path));
  }
}

الإنشاء والكتابة

استخدم Directory.CreateDirectory (بأمان حتى إذا كان موجودًا) وFile.WriteAllText للملفات الصغيرة.

using System;
using System.IO;

public class Program
{
  public static void Main(string[] args)
  {
    string folder = "data";
    if (!Directory.Exists(folder))
    {
      Directory.CreateDirectory(folder); // create if missing
    }

    string path = Path.Combine(folder, "hello.txt");
    // Simple one-shot write
    File.WriteAllText(path, "Hello file!");
    Console.WriteLine("Wrote: " + path);
  }
}

القراءة بأمان

ضع أدوات القراءة داخل كتلة using. يُحرَّر مقبض الملف حتى عند حدوث استثناء.

using System;
using System.IO;

public class Program
{
  public static void Main(string[] args)
  {
    string path = Path.Combine("data", "hello.txt");

    if (File.Exists(path))
    {
      using (StreamReader r = new StreamReader(path))
      {
        string content = r.ReadToEnd(); // read all
        Console.WriteLine("Content: " + content);
      } // Dispose closes the file
    }
    else
    {
      Console.WriteLine("Missing file: " + path);
    }
  }
}

الكتابة بأمان

يكتب StreamWriter النصوص. مرّر append=true لإضافة أسطر دون الكتابة فوق المحتوى.

using System;
using System.IO;

public class Program
{
  public static void Main(string[] args)
  {
    string path = Path.Combine("data", "log.txt");

    // Append = true so we keep old content
    using (StreamWriter w = new StreamWriter(path, true))
    {
      w.WriteLine(DateTime.UtcNow.ToString("u") + " - started");
      w.WriteLine("Work done");
    } // closed here

    Console.WriteLine("Appended to log: " + path);
  }
}

الفحوص والنصائح

نصائح:

  • تحقق من File.Exists/Directory.Exists قبل الاستخدام.
  • التقط IOException لأخطاء الإدخال والإخراج، واعرض رسالة واضحة للمستخدم.
  • فضّل استخدام using مع جميع التدفقات.

قاعدة أمان التدفقات

تحقق سريع: ما الطريقة الأكثر أمانًا لضمان إغلاق التدفق بعد القراءة أو الكتابة في C# 6؟

مراجعة

مراجعة: أنشئ المسارات باستخدام Path، وتحقق من وجودها، ولفّ أدوات القراءة والكتابة دائمًا داخل كتلة using لضمان التنظيف الآمن.

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

هل درس «System.IO (المسارات والتدفقات)» مجاني؟

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

ماذا ستتعلم في «System.IO (المسارات والتدفقات)»؟

استخدم مساعدات Path، وتحقق من الوجود، واقرأ النصوص واكتبها باستخدام StreamReader/StreamWriter وعبارة using. تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

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

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

كم من الوقت يستغرق درس «System.IO (المسارات والتدفقات)»؟

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

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

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

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

  1. System.IO (المسارات والتدفقات)
  2. JSON باستخدام System.Text.Json (التفعيل الاختياري والمحوّلات)
  3. أنماط بسيطة لتحليل CSV
← العودة إلى C# Academy