سورس کد برنامه جستجوی فایل و جایگزین متن در Visual Basic .NET


در دنیای برنامه‌نویسی، مدیریت فایل‌ها و ویرایش متن‌ها یکی از مهم‌ترین و پرکاربردترین وظایف است. برنامه‌هایی که بتوانند فایل‌ها را جستجو و متن‌های خاص را در آن‌ها پیدا و جایگزین کنند، در بسیاری از حوزه‌ها، از جمله توسعه نرم‌افزار، مدیریت سیستم‌ها و حتی در اجرای وظایف روزمره، کاربرد فراوان دارند. در این راستا، زبان برنامه‌نویسی Visual Basic .NET (VB.NET) به‌دلیل سادگی و قدرتش، گزینه‌ای بسیار مناسب برای ساخت چنین برنامه‌هایی است.
در ادامه، به طور جامع و کامل، به شرح سورس کد برنامه‌ای خواهیم پرداخت که قادر است فایل‌ها را بر اساس نام و مسیر خاصی جستجو کند، سپس در متن آن‌ها یک کلمه یا عبارت خاص را یافته و در صورت نیاز، جایگزین آن کند. این برنامه با بهره‌گیری از امکانات قدرتمند VB.NET، به‌گونه‌ای طراحی شده است که قابل توسعه و شخصی‌سازی باشد، همچنین کاربر می‌تواند به‌راحتی مسیر فایل‌ها، متن‌های مورد جستجو و جایگزین کردن را مشخص کند.

مقدمه‌ای بر ساختار برنامه




قبل از شروع، باید بدانیم که برنامه در قالب یک فرم گرافیکی (Windows Forms) ساخته می‌شود. این فرم شامل چندین کنترل است، از جمله:
- TextBox برای وارد کردن مسیر دایرکتوری مورد نظر.

- Button برای شروع عملیات جستجو و جایگزینی.

- TextBox برای وارد کردن متن مورد جستجو.

- TextBox برای وارد کردن متن جایگزین.

- ListBox یا DataGridView برای نمایش فایل‌هایی که عملیات بر روی آن‌ها انجام شده است.

- ProgressBar برای نشان دادن پیشرفت عملیات، مخصوصا در فایل‌های بزرگ.
این رابط کاربری، به کاربر امکان می‌دهد تا به راحتی مسیر فایل‌ها را انتخاب کند، متن‌های مورد نظر را وارد کند، و عملیات را با فشردن یک دکمه آغاز نماید.

بخش‌های اصلی سورس کد




۱. گرفتن مسیر فایل‌ها




در ابتدا، کاربر باید مسیر دایرکتوری مورد نظر خود را وارد یا انتخاب کند. این کار معمولاً با کنترل FolderBrowserDialog انجام می‌شود، که به راحتی کاربر می‌تواند مسیر دلخواه خود را انتخاب کند. پس از انتخاب مسیر، برنامه باید فایل‌هایی با پسوند‌های مورد نظر (مثلاً `.txt`, `.docx`، و غیره) را جمع‌آوری کند.
vb  

Dim files As String() = Directory.GetFiles(folderPath, "*.*", SearchOption.AllDirectories).Where(Function(s) s.EndsWith(".txt")).ToArray()


در این نمونه، فایل‌ها در مسیر مشخص شده جستجو می‌شوند و تنها فایل‌هایی با پسوند `.txt` جمع‌آوری می‌گردند. این قسمت می‌تواند بر اساس نیاز کاربر تغییر یابد.

۲. خواندن محتویات فایل‌ها




پس از جمع‌آوری فایل‌ها، باید محتویات هر فایل را خواند. در VB.NET، برای فایل‌های متنی، این کار با متد `File.ReadAllText()` یا `StreamReader` انجام می‌شود. برای فایل‌های دیگر، باید از کتابخانه‌های مخصوص بهره برد، اما در نمونه ما فرض بر فایل‌های متنی است.
vb  

Dim content As String = File.ReadAllText(filePath)


در این مرحله، محتویات فایل در یک متغیر رشته‌ای قرار می‌گیرد که قرار است مورد جستجو و جایگزینی قرار گیرد.

۳. جستجو و جایگزینی متن




حالا، باید متن مورد جستجو را در محتویات فایل پیدا کنیم. برای این کار، از تابع `Replace()` استفاده می‌شود:
vb  

Dim updatedContent As String = content.Replace(searchText, replaceText)


اگر متن مورد جستجو در فایل پیدا شد، این عملیات، متن مورد نظر را جایگزین می‌کند. مهم است که قبل از انجام جایگزینی، وجود متن بررسی گردد، ولی در صورت استفاده از `Replace()`، اگر متن یافت نشود، تغییر ایجاد نمی‌شود.

۴. نوشتن مجدد محتوا در فایل




پس از جایگزینی، باید محتوا را در فایل ذخیره کنیم. این کار با `File.WriteAllText()` انجام می‌شود:
vb  

File.WriteAllText(filePath, updatedContent)


با این کار، فایل به‌روزرسانی می‌شود و متن جایگزین در آن ذخیره می‌گردد.

۵. مدیریت استثنائات و خطاها




در حین عملیات روی فایل‌ها، احتمال بروز خطا وجود دارد، از جمله عدم دسترسی، فایل قفل شده، یا خطاهای خواندن/نوشتن. بنابراین، باید با استفاده از بلوک‌های `Try...Ca... ← ادامه مطلب در magicfile.ir