Windows-এ ফাইল এবং ফোল্ডার তৈরি, মুছে ফেলা এবং ম্যানেজমেন্ট একটি সাধারণ এবং গুরুত্বপূর্ণ কাজ, যা অনেক অ্যাপ্লিকেশনে প্রয়োজনীয় হতে পারে। C# (C Sharp) এবং UWP (Universal Windows Platform) এ ফাইল এবং ফোল্ডার পরিচালনা করার জন্য বিভিন্ন পদ্ধতি রয়েছে। এখানে ফাইল এবং ফোল্ডার তৈরি, মুছে ফেলা এবং ম্যানেজমেন্টের জন্য C# এবং UWP এ ব্যবহৃত মূল টেকনিকগুলো আলোচনা করা হবে।
১. File এবং Folder তৈরি
C# (File এবং Folder তৈরি)
C#-এ ফাইল এবং ফোল্ডার তৈরি করার জন্য System.IO নামস্পেস ব্যবহার করা হয়।
ফোল্ডার তৈরি:
using System.IO;
string folderPath = @"C:\ExampleFolder";
if (!Directory.Exists(folderPath))
{
Directory.CreateDirectory(folderPath);
}
ফাইল তৈরি:
using System.IO;
string filePath = @"C:\ExampleFolder\example.txt";
if (!File.Exists(filePath))
{
File.WriteAllText(filePath, "Hello, world!"); // Writing text into the file
}
ব্যাখ্যা:
- Directory.Exists চেক করে যে, নির্দিষ্ট ফোল্ডারটি বিদ্যমান কিনা।
- Directory.CreateDirectory নতুন একটি ফোল্ডার তৈরি করে।
- File.Exists চেক করে যে, নির্দিষ্ট ফাইলটি বিদ্যমান কিনা।
- File.WriteAllText ফাইল তৈরি করে এবং এতে কিছু টেক্সট লেখে।
২. File এবং Folder মুছে ফেলা
C# (File এবং Folder মুছে ফেলা)
ফাইল বা ফোল্ডার মুছে ফেলার জন্যও System.IO ব্যবহার করা হয়।
ফোল্ডার মুছে ফেলা:
using System.IO;
string folderPath = @"C:\ExampleFolder";
if (Directory.Exists(folderPath))
{
Directory.Delete(folderPath, true); // 'true' to delete subdirectories and files inside
}
ফাইল মুছে ফেলা:
using System.IO;
string filePath = @"C:\ExampleFolder\example.txt";
if (File.Exists(filePath))
{
File.Delete(filePath);
}
ব্যাখ্যা:
- Directory.Delete ফোল্ডার মুছে ফেলে।
trueপ্যারামিটার দিলে সাব-ডিরেক্টরি এবং ফাইলগুলোও মুছে ফেলা হবে। - File.Delete ফাইল মুছে ফেলে।
৩. File এবং Folder ম্যানেজমেন্ট
ফাইল এবং ফোল্ডার ম্যানেজমেন্টের মধ্যে অন্তর্ভুক্ত রয়েছে ফাইল কপি করা, ফোল্ডার অপেন করা, ফাইলের বৈশিষ্ট্য চেক করা ইত্যাদি।
ফাইল কপি করা:
using System.IO;
string sourceFilePath = @"C:\ExampleFolder\example.txt";
string destinationFilePath = @"C:\NewFolder\example.txt";
if (File.Exists(sourceFilePath))
{
File.Copy(sourceFilePath, destinationFilePath, true); // 'true' to overwrite existing file
}
ফোল্ডার কপি করা (Recursive method):
using System.IO;
void CopyDirectory(string sourceDir, string destDir)
{
Directory.CreateDirectory(destDir);
foreach (var file in Directory.GetFiles(sourceDir))
{
string destFile = Path.Combine(destDir, Path.GetFileName(file));
File.Copy(file, destFile);
}
foreach (var dir in Directory.GetDirectories(sourceDir))
{
string destSubDir = Path.Combine(destDir, Path.GetFileName(dir));
CopyDirectory(dir, destSubDir);
}
}
ব্যাখ্যা:
- File.Copy ফাইল কপি করতে ব্যবহৃত হয়। যদি গন্তব্য ফাইল আগে থেকেই বিদ্যমান থাকে, তবে
trueপ্যারামিটারটি এটি ওভাররাইট করবে। - Directory.GetFiles এবং Directory.GetDirectories ব্যবহার করে, ফোল্ডারের ভিতরের সমস্ত ফাইল এবং সাবফোল্ডারকে রিকোর্সিভভাবে কপি করা হয়।
ফাইলের বৈশিষ্ট্য চেক করা:
using System.IO;
string filePath = @"C:\ExampleFolder\example.txt";
if (File.Exists(filePath))
{
FileInfo fileInfo = new FileInfo(filePath);
Console.WriteLine($"File Size: {fileInfo.Length} bytes");
Console.WriteLine($"File Created: {fileInfo.CreationTime}");
Console.WriteLine($"File Last Accessed: {fileInfo.LastAccessTime}");
}
ব্যাখ্যা:
- FileInfo অবজেক্ট ফাইলের বৈশিষ্ট্য যেমন সাইজ, তৈরি হওয়ার সময়, এবং শেষ অ্যাক্সেস সময় সংগ্রহ করতে ব্যবহৃত হয়।
৪. UWP এ File এবং Folder ম্যানেজমেন্ট
UWP অ্যাপ্লিকেশনগুলি Windows.Storage API ব্যবহার করে ফাইল এবং ফোল্ডার পরিচালনা করে। এখানে Windows.Storage.StorageFile, Windows.Storage.StorageFolder, এবং Windows.Storage.StorageStreamTransaction ব্যবহৃত হয়।
ফোল্ডার তৈরি (UWP):
using Windows.Storage;
StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
StorageFolder newFolder = await storageFolder.CreateFolderAsync("NewFolder", CreationCollisionOption.OpenIfExists);
ফাইল তৈরি (UWP):
using Windows.Storage;
StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
StorageFile newFile = await storageFolder.CreateFileAsync("example.txt", CreationCollisionOption.ReplaceExisting);
await FileIO.WriteTextAsync(newFile, "Hello, world!");
ফাইল কপি করা (UWP):
using Windows.Storage;
StorageFolder sourceFolder = ApplicationData.Current.LocalFolder;
StorageFile sourceFile = await sourceFolder.GetFileAsync("example.txt");
StorageFolder destinationFolder = ApplicationData.Current.LocalFolder;
await sourceFile.CopyAsync(destinationFolder, "copied_example.txt", NameCollisionOption.ReplaceExisting);
ব্যাখ্যা:
- StorageFolder এবং StorageFile ব্যবহার করে UWP অ্যাপ্লিকেশনে ফোল্ডার এবং ফাইল পরিচালনা করা হয়।
- CreateFileAsync ফাইল তৈরি করে এবং WriteTextAsync এর মাধ্যমে ফাইলের মধ্যে লেখা যায়।
৫. Error Handling এবং Exception Management
ফাইল এবং ফোল্ডার ম্যানেজমেন্টের সময় কিছু সাধারণ ত্রুটি ঘটতে পারে, যেমন ফাইল না থাকা বা অ্যাক্সেসের অনুমতি না থাকা। এই কারণে try-catch ব্লক ব্যবহার করা গুরুত্বপূর্ণ।
উদাহরণ:
try
{
string filePath = @"C:\ExampleFolder\example.txt";
if (File.Exists(filePath))
{
File.Delete(filePath);
}
}
catch (UnauthorizedAccessException ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
catch (IOException ex)
{
Console.WriteLine($"I/O Error: {ex.Message}");
}
উপসংহার
C# এবং UWP এ ফাইল এবং ফোল্ডার তৈরি, মুছে ফেলা, এবং ম্যানেজমেন্টের জন্য বেশ কিছু কার্যকরী পদ্ধতি রয়েছে। System.IO নামস্পেস এবং Windows.Storage API ব্যবহার করে সহজেই ফাইল এবং ফোল্ডার পরিচালনা করা যায়। এই ফিচারগুলো অ্যাপ্লিকেশনের মধ্যে ডেটা স্টোরেজ, ডেটা প্রসেসিং এবং ব্যবহারকারীর ফাইল ম্যানেজমেন্টের প্রয়োজনীয়তাগুলো পূরণ করতে সাহায্য করে।
Read more