زبان برنامهنویسی سی شارپ یکی از محبوبترین زبانهای برنامهنویسی است که با استفاده از کتابخانههای مختلفش، امکانات قدرتمندی را برای مدیریت فایلها و پوشهها در اختیار برنامهنویسان قرار میدهد. در این مقاله، به بررسی کامل روشهای کار با فایلها و پوشهها در سی شارپ میپردازیم و با ارائه مثالهای کاربردی، مفاهیم مربوطه را به زبانی ساده توضیح میدهیم.
کار با فایلها
1. ایجاد فایل
در سی شارپ، برای ایجاد فایلها میتوانید از کلاس File که در کتابخانهی System.IO قرار دارد، استفاده کنید. با استفاده از متدهایی مانند WriteAllText، میتوانید یک فایل متنی ایجاد کنید و محتویات دلخواه خود را در آن ذخیره کنید.
مثال:
using System.IO;
class Program
{
static void Main()
{
// ایجاد فایل با محتوای متنی
File.WriteAllText(@"C:\example.txt", "این یک متن نمونه است");
Console.WriteLine("فایل با موفقیت ایجاد شد.");
}
}
در این مثال، یک فایل متنی به نام "example.txt" در مسیر مشخص شده ایجاد میشود و متنی که به عنوان ورودی دادهایم، داخل آن نوشته میشود.
2. خواندن از فایل
برای خواندن محتوای فایلهای متنی، از متد ReadAllText استفاده میشود که تمامی محتوای فایل را به صورت یک رشته برمیگرداند.
مثال:
using System.IO;
class Program
{
static void Main()
{
// خواندن محتویات فایل و نمایش آن در کنسول
string content = File.ReadAllText(@"C:\example.txt");
Console.WriteLine("محتویات فایل: " + content);
}
}
در اینجا، برنامه محتویات فایل "example.txt" را میخواند و آن را در کنسول چاپ میکند.
3. اضافه کردن محتوا به فایل
اگر بخواهید به محتوای موجود در یک فایل متنی، متن جدیدی اضافه کنید، میتوانید از متد AppendAllText استفاده کنید.
مثال:
using System.IO;
class Program
{
static void Main()
{
// اضافه کردن متن جدید به فایل
File.AppendAllText(@"C:\example.txt", "\nاین یک متن اضافه شده است.");
Console.WriteLine("متن جدید به فایل اضافه شد.");
}
}
این کد به انتهای فایل "example.txt" متن جدیدی اضافه میکند.
4. حذف فایل
برای حذف یک فایل از سیستم، میتوانید از متد Delete در کلاس File استفاده کنید.
مثال:
using System.IO;
class Program
{
static void Main()
{
// حذف فایل
if (File.Exists(@"C:\example.txt"))
{
File.Delete(@"C:\example.txt");
Console.WriteLine("فایل با موفقیت حذف شد.");
}
else
{
Console.WriteLine("فایل وجود ندارد.");
}
}
}
در این مثال، ابتدا بررسی میشود که آیا فایل "example.txt" وجود دارد یا خیر. اگر وجود داشت، فایل حذف میشود.
کار با پوشهها
1. ایجاد پوشه
برای ایجاد پوشهها، میتوانید از کلاس Directory و متد CreateDirectory استفاده کنید. این متد به شما امکان میدهد که یک پوشه در مسیر مشخصی ایجاد کنید.
مثال:
using System.IO;
class Program
{
static void Main()
{
// ایجاد پوشه
Directory.CreateDirectory(@"C:\NewFolder");
Console.WriteLine("پوشه با موفقیت ایجاد شد.");
}
}
این کد پوشهای به نام "NewFolder" در مسیر مشخص شده ایجاد میکند.
2. حذف پوشه
برای حذف یک پوشه، از متد Delete کلاس Directory استفاده میشود. در این متد میتوانید مشخص کنید که آیا پوشه به همراه محتویات آن حذف شود یا خیر.
مثال:
using System.IO;
class Program
{
static void Main()
{
// حذف پوشه به همراه تمامی فایلها و زیرپوشهها
if (Directory.Exists(@"C:\NewFolder"))
{
Directory.Delete(@"C:\NewFolder", true);
Console.WriteLine("پوشه و محتویات آن با موفقیت حذف شدند.");
}
else
{
Console.WriteLine("پوشه وجود ندارد.");
}
}
}
در این کد، پوشه "NewFolder" به همراه تمامی محتویات آن (فایلها و زیرپوشهها) حذف میشود.
3. خواندن محتویات پوشه
برای مشاهده لیست فایلها و پوشههای داخل یک پوشه مشخص، میتوانید از متد GetFiles و GetDirectories استفاده کنید.
مثال:
using System.IO;
class Program
{
static void Main()
{
// خواندن فایلها در یک پوشه
string[] files = Directory.GetFiles(@"C:\NewFolder");
Console.WriteLine("فایلهای موجود در پوشه:");
foreach (string file in files)
{
Console.WriteLine(file);
}
}
}
این کد، لیست فایلهای موجود در پوشه "NewFolder" را در کنسول نمایش میدهد.
مثالهای کاربردی
1. ساخت نرمافزار بکاپ
فرض کنید میخواهید یک نرمافزار ساده بنویسید که به صورت خودکار از پوشهی مستندات کاربر بکاپ بگیرد و آن را در یک مسیر دیگر ذخیره کند.
مثال:
using System;
using System.IO;
class Program
{
static void Main()
{
string sourceFolder = @"C:\Users\User\Documents";
string backupFolder = @"D:\Backups\DocumentsBackup";
Directory.CreateDirectory(backupFolder);
foreach (var file in Directory.GetFiles(sourceFolder))
{
string fileName = Path.GetFileName(file);
string destFile = Path.Combine(backupFolder, fileName);
File.Copy(file, destFile, true);
}
Console.WriteLine("بکاپگیری با موفقیت انجام شد.");
}
}
این کد از فایلهای موجود در پوشهی مستندات کاربر یک بکاپ در مسیر D:\Backups تهیه میکند.
2. سازماندهی تصاویر بر اساس تاریخ
فرض کنید میخواهید یک برنامه بنویسید که تصاویر شما را بر اساس تاریخ گرفته شده، در پوشههای مختلف ذخیره کند.
مثال:
using System;
using System.IO;
class Program
{
static void Main()
{
string imagesFolder = @"C:\Users\User\Pictures";
string organizedFolder = @"C:\Users\User\OrganizedPictures";
Directory.CreateDirectory(organizedFolder);
foreach (var file in Directory.GetFiles(imagesFolder, "*.jpg"))
{
DateTime creationTime = File.GetCreationTime(file);
string folderName = creationTime.ToString("yyyy-MM-dd");
string targetFolder = Path.Combine(organizedFolder, folderName);
Directory.CreateDirectory(targetFolder);
string destFile = Path.Combine(targetFolder, Path.GetFileName(file));
File.Copy(file, destFile, true);
}
Console.WriteLine("تصاویر با موفقیت سازماندهی شدند.");
}
}
در این کد، تصاویر موجود در پوشه "Pictures" بر اساس تاریخ ایجاد آنها در پوشههای جداگانه ذخیره میشوند.
نتیجهگیری
کار با فایلها و پوشهها در سی شارپ یکی از موضوعات بسیار مهم و کاربردی است که در بسیاری از پروژهها مورد نیاز است. با استفاده از کلاسهای File و Directory، میتوانید عملیات مختلفی مانند خواندن، نوشتن، ایجاد و حذف فایلها و پوشهها را به راحتی انجام دهید. همچنین با پیادهسازی مثالهای کاربردی ارائه شده، میتوانید از این مفاهیم در پروژههای واقعی خود استفاده کنید.
سی شارپ، با قابلیتهای بینظیر خود، درهر روز به یک زبان برنامهنویسی محبوبتر تبدیل میشود. برای فراگیری حرفهای این زبان و ورود به دنیای برنامهنویسی، پیشنهاد میکنیم در دورههای آموزش سی شارپ باگتو شرکت کنید.
در ادامه مقاله کار با فایل در سی شارپ را مطالعه نمایید.اگر به کار با فایلها و پوشهها در سیشارپ علاقهمند هستید، مقالات دیگر ما در این زمینه نیز برای شما مفید خواهند بود. مثلاً، در برنامه نویسی غیر همزمان در سی شارپ به بررسی تکنیکهای غیرهمزمان برای انجام عملیاتهای IO مانند خواندن و نوشتن فایل پرداختهایم.
برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربریتان شوید