جستجوی یک عضو آرایه درون یک فایل متنی
سلام و عرض ادب خدمت کاربران
من با سی شارپ میخوام عناصر یک آرایه که متن هست رو درون یک فایل متنی جستجو کنم.بیشتر توضیح میدم
یک آرایه دارم که 2 تا عنصر داخلش هست عنصر اول کلمه "itpro" هست...بعد یک سری فایل متنی دارم. میخوام که این عنصر درون این فایلهای متنی جستجو بشه و اگه درون اون فایل بود اسمش رو بگه.همین
بنده کد نویسی قسمت گرفت آدرس فایلها رو انجام دادم، فقط کدی میخوام که بتونه عنصر اول آرایه رو درون فایلهای txt جتجو کنه و اگه بودش، اسم فایل رو بگه
3 پاسخ
سلام از این کد استفاده کنید
string path = "d:\\myFolder"; var files=Directory.GetFiles(path);
سلام.ممنون از کدتون ولی من میخوام به آدرسی که کاربر وارد میکنه رو جستجو کنه...نه اینکه آدرس جستجو ثابت باشه...من با فولدر بروزر دیالوگ آدرس رو از کاربر دریافت میکنم و درون متغیر txtdir میریزم...میخوام که تمام فایلهای درون این آدرس جستجو بشه!!!
ممنونم و منتظر پاسخم
سلام به شما دوست عزیز
شما به راحتی باید در داخل یک حلقه فایل ها رو بخونید و در داخل آن جستجو کنید. مانند کد زیر
static void Main(string[] args) { var containsFileList=new List<string>(); var strings = new[] {"itpro", "website", "adeli"}; var filePaths = new[] {"c:\\1.txt", "c:\\2.txt", "d:\\sd.txt"}; foreach (var file in filePaths) { var fileContent = File.ReadAllText(file); if(strings.Any(a => fileContent.Contains(a))) containsFileList.Add(file); } foreach (var item in containsFileList) { Console.WriteLine(item); } Console.ReadKey(); }
در کد بالا یک آرایه از رشته ها داریم و یک آرایه از آدرس فایل ها که تک تک فایل ها را می خوانیم و توسط خط زیر
if(strings.Any(a => fileContent.Contains(a)))
نگاه می کنیم ببینیم هیچکدام از عناصر آرایه داخل فایل هست یا خیر اگر یکی از عناصر داخل فایل بود نام فایل را در لیست قرار می دهیم.
حالا اگه بخواهید فقط ببینید که یک عنصر در فایل ها وجود دارد یا خیر این خط را باید به شکل زیر تغییر دهید.
if(fileContent.Contains(strings[0]))