我希望能夠使用c#遍歷文件夾中某些圖像文件的名稱。因此,對於intance我有一個名爲圖像文件夾,其中包含以下圖片如何檢查文件夾中的文件名
圖像0dog.jpg cat.jpg horse.jpg
我希望能夠去通過名稱和能夠說
if(filename == dog.jpg)
return true
else
return false
東西自然
謝謝
我希望能夠使用c#遍歷文件夾中某些圖像文件的名稱。因此,對於intance我有一個名爲圖像文件夾,其中包含以下圖片如何檢查文件夾中的文件名
圖像0dog.jpg cat.jpg horse.jpg
我希望能夠去通過名稱和能夠說
if(filename == dog.jpg)
return true
else
return false
東西自然
謝謝
你SH請使用System.IO.File
上的靜態Exists
方法。
return System.IO.File.Exists("dog.jpg")
由於該方法返回一個布爾值,也沒有必要在你給的例子中if
聲明。
您也可以使用一點的LINQ的神奇,以確定是否一個文件中的一個文件夾結構存在,這樣的:
var dir = new System.IO.DirectoryInfo(startFolder);
var fileList = dir.GetFiles("*.*", System.IO.SearchOption.AllDirectories);
bool fileExists = fileList.Any(f => f.FullName == "dog.jpg");
甚至更短:
return System.IO.Directory
.GetFiles(@"c:\myfolder", "dog.jpg", SearchOption.AllDirectories)
.Any();
這將搜索的文件夾指定和所有子文件夾與模式「dog.jpg」。擴展方法Any()
只檢查IEnumerable
是否包含任何項目。我認爲這是做這件事最有效的方式(基於直覺)。
從http://weblogs.asp.net/israelio/archive/2004/06/23/162913.aspx只要插入你如果在 「//做文件名事」 區域:
// How much deep to scan. (of course you can also pass it to the method)
const int HowDeepToScan=4;
public static void ProcessDir(string sourceDir, int recursionLvl)
{
if (recursionLvl<=HowDeepToScan)
{
// Process the list of files found in the directory.
string [] fileEntries = Directory.GetFiles(sourceDir);
foreach(string fileName in fileEntries)
{
// do something with fileName
Console.WriteLine(fileName);
}
// Recurse into subdirectories of this directory.
string [] subdirEntries = Directory.GetDirectories(sourceDir);
foreach(string subdir in subdirEntries)
// Do not iterate through reparse points
if ((File.GetAttributes(subdir) &
FileAttributes.ReparsePoint) !=
FileAttributes.ReparsePoint)
ProcessDir(subdir,recursionLvl+1);
}
}
得到的所有文件
string[] filePaths = Directory.GetFiles(@"c:\yourfolder\");
,並通過它
迭代DirectoryInfo di = new DirectoryInfo("c:\\Images");
var files = di.GetFiles("*.jpg");
foreach (var fileInfo in files)
{
if (fileInfo.Name == "dog.jpg")
return true;
}
return false;
foreach(var file in (myDir.GetFiles("*.jpg")
{
if(file.Name == "dog.jpg") return true;
}
var files = System.IO.Directory.GetFiles("directory", "*.jpg");
foreach (var item in files)
{
if (System.IO.Path.GetFileName(item) == "dog.jpg")
{
// File found.
}
}
一個送給大家一票,因爲每個人都是正確的:) – user710502