جستجوی فایل بر اساس قسمتی از اسم فایل
چطور میشه فایل های موجود در یک فولدر رو بر اساس قسمتی از اسم فایل جستجو کرد؟یعنی وقتی می نویسیم saeed بیاد تمام فایل هایی که تو اسمشون saeed هست رو بگیره.البته با یه پسوند خاص.
منکد زیر رو برای جستجو فایل در یک فولدر نوشتم.اما خوب بقیشو نمیدونم.
try
{
DirectoryInfo dir = new DirectoryInfo(Environment.CurrentDirectory+"\\Data \\");
FileInfo[] filer = dir.GetFiles();
int length = filer.Length;
int i = 0;
while (i != length)
{
i += 1;
string name = filer[i].Name;
if (name.Contains("Saeed.jpg"))
{
MessageBox.Show("Found Saeed");
}
}
}
catch { }
نقل قول: جستجوی فایل بر اساس قسمتی از اسم فایل
چرا از while برای حلقه استفاده کردین ؟؟ از اونجایی که طول آرایه مشخصه نیازی به while نیست ... میتونین از for یا foreach استفاده کنین ...
foreach (FileInfo file in filer)
{
if (file.Extension.ToLower() == ".jpg")
{
if(file.Name.Contains("saeed"))
{
//add to list
}
}
}
نقل قول: جستجوی فایل بر اساس قسمتی از اسم فایل
نقل قول:
نوشته شده توسط
shytonak
چطور میشه فایل های موجود در یک فولدر رو بر اساس قسمتی از اسم فایل جستجو کرد؟یعنی وقتی می نویسیم saeed بیاد تمام فایل هایی که تو اسمشون saeed هست رو بگیره.البته با یه پسوند خاص.
منکد زیر رو برای جستجو فایل در یک فولدر نوشتم.اما خوب بقیشو نمیدونم.
try
{
DirectoryInfo dir = new DirectoryInfo(Environment.CurrentDirectory+"\\Data \\");
FileInfo[] filer = dir.GetFiles();
int length = filer.Length;
int i = 0;
while (i != length)
{
i += 1;
string name = filer[i].Name;
if (name.Contains("Saeed.jpg"))
{
MessageBox.Show("Found Saeed");
}
}
}
catch { }
سلام. براي اعمال فيلتر در جستجو نيازي نيست كه شما اين كار رو بصورت دستي انجام بديد. فقط كافيه در تابع GetFiles عبارت محدودكننده قرار رو بديد تا تنها فايل هاي كه با اون عبارت همخوني دارن انتخاب بشن. در كد شما بايد دوتا كاركتر ستاره در ابتدا و انتهاي نام فايل قرارداده بشه تا به نتيجه دلخواهتون برسيد.
DirectoryInfo dir = new DirectoryInfo(Environment.CurrentDirectory + "\\Data \\");
FileInfo[] filer = dir.GetFiles("*Saeed*.jpg");
foreach (FileInfo f in filer)
MessageBox.Show(f.ToString());