কম্পিউটার টিউটোরিয়াল

C#-এ ডিরেক্টরির ভেতর সব ফাইল, সাব-ফাইল এবং তাদের সাইজ পাওয়া

ফাইল পাওয়ার জন্য C#-তে Directory.GetFiles মেথড আছে।

Directory.GetFiles নির্দিষ্ট সার্চ প্যাটার্ন অনুযায়ী সকল ফাইলের নাম (পাথসহ) রিটার্ন করে, এবং অপশনালি সাবডিরেক্টরিও সার্চ করে।

নিচের উদাহরণে * স posisi শূন্য বা অধিক ক্যারেক্টার ম্যাচ করে।

  • SearchOption.TopDirectoryOnly: শুধু টপ ডিরেক্টরিসার্চ করে।
  • SearchOption.AllDirectories: টপ ডিরেক্টরি এবং সকল সাবডিরেক্টরি সার্চ করে।
  • FileInfo ক্লাস ফাইল ইনফরমেশন (Length, Name) পাওয়ার জন্য।

উদাহরণ ১: সকল ফাইল (সাবডিরেক্টরি সহ)

static void Main(string[] args)
{
    string rootPath = @"C:\Users\Koushik\Desktop\TestFolder";
    var files = Directory.GetFiles(rootPath, "*.*", SearchOption.AllDirectories);
    foreach (string file in files)
    {
        Console.WriteLine(file);
    }
    Console.ReadLine();
}

আউটপুট

C:\Users\Koushik\Desktop\TestFolder\TestFolderMain\TestFolderMain.txt
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 1\TestFolderMain1.txt
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2\TestFolderMain2.txt
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2\TestFolderMainSubDirectory\TestFolderSubDirectory.txt

উদাহরণ ২: শুধু টপ ডিরেক্টরি

static void Main(string[] args)
{
    string rootPath = @"C:\Users\Koushik\Desktop\TestFolder";
    var files = Directory.GetFiles(rootPath, "*.*", SearchOption.TopDirectoryOnly);
    foreach (string file in files)
    {
        Console.WriteLine(file);
    }
    Console.ReadLine();
}

আউটপুট

C:\Users\Koushik\Desktop\TestFolder\Topdirectory.txt

উদাহরণ ৩: ফাইল সাইজ সহ

static void Main(string[] args)
{
    string rootPath = @"C:\Users\Koushik\Desktop\TestFolder";
    var files = Directory.GetFiles(rootPath, "*.*", SearchOption.AllDirectories);
    foreach (string file in files)
    {
        var info = new FileInfo(file);
        Console.WriteLine($"{Path.GetFileName(file)}: {info.Length} bytes");
    }
    Console.ReadLine();
}

আউটপুট

Topdirectory.txt: 0 bytes
TestFolderMain.txt: 0 bytes
TestFolderMain1.txt: 10 bytes
TestFolderMain2.txt: 20 bytes

টিপ: বড় ডিরেক্টরির জন্য EnumerateFiles ব্যবহার করুন মেমরি দক্ষতার জন্য।

  1. লিনাক্স টার্মিনাল এবং ডেস্কটপে ফাইল ম্যানেজমেন্ট

  2. C#-তে একটি পথ থেকে সকল ফাইল ও ফোল্ডার ডিলিট কীভাবে করবেন?

  3. জাভাতে ডাইরেক্টরির JPG ফাইল লিস্ট করা

  4. macOS-এ ফাইল সার্চ 습得: ফাইল ও ফোল্ডার লোকেট ও রিকভার করার جامع গাইড