如何检查文件夹中文件的名称

本文关键字:文件 中文 文件夹 何检查 检查 | 更新日期: 2023-09-27 17:57:46

我尝试了在这个线程上找到的东西,但没有完全按照我想要的方式工作。。。我有一个名为photos的文件夹,不管may是否有图片。picture's name是客户端的matriculation。我需要将matriculation作为parameter传递,并检查是否存在具有我作为parameter 传递的matriculation名称的picture

我试过这个:

public void VerifyPhoto(string matriculation)
        {
            string path = Txt_PhotosPath.Text;
            var file = Directory.GetFiles(path, matriculation + ".jpg");
        }

我该如何检查它是否找到了图片?我试着比较file != null,但它不适用于var类型。有小费吗?debuging我看到它找到了照片,因为有一个String[1],但我不知道check是谁…

---更新---path:C:"''Users''admin''Desktop''photes"matriculation:"607659.jpg"有一个同名文件,但它一直返回false。怎么了?

 string path = Txt_PhotosPath.Text;
            string filename = string.Format("{0}.jpg", matriculation);
            if (Directory.Exists(path))
            {
                if (File.Exists(Path.Combine(path, filename)))
                {
                    return true;
                }
                else
                    return false;
            }
            else
                return false;        

如何检查文件夹中文件的名称

if (File.Exists(Path.Combine(path, matriculation + ".jpg"));

使用Path.CombineDirectory+File.Exists:

public bool VerifyPhoto(string matriculation)
{
    string dir = Txt_PhotosPath.Text;
    if(Directory.Exists(dir))
    {
        string fileName = string.Format("{0}.jpg", matriculation);
        if(File.Exists(Path.Combine(dir, fileName)))
            return true;
        else
            return false;
    }
    else
        return false;
}

以下是官方文档中的内容:http://msdn.microsoft.com/en-us/library/wz42302f.aspx

如果没有文件或没有与searchPattern参数匹配的文件,此方法返回一个空数组。

因此,将返回一个空数组,而不是检查空数组是否为NULL。

这是非常简单的东西。以下函数将帮助您检查是否存在参数中指定名称的文件。

File.Exists(Path)

命名空间:System.IO

如果存在文件,此函数将返回true。否则,它将返回一个false。参数是一个字符串,它是要检查的文件的完整路径。CCD_ 20。

它不会抛出任何异常,因为如果找不到文件,它会返回false。

您不必将路径和所有路径结合起来,只需如我的示例中所述提供文件的完整路径即可。

有关更多信息,请单击此处

不要使用var file,而是使用string[] files

要检查是否找到任何文件,请执行if (files.Length > 0)

使用var通常是一个VERY坏主意,所以如果可以避免的话就不要这样做。

要回答您的问题,请说明您不能使用的原因!=null,是因为GetFiles()的底层代码创建了一个列表并调用了ToArray()扩展方法。

 return new List<string>(FileSystemEnumerableFactory.CreateFileNameIterator(path, userPathOriginal, searchPattern, includeFiles, includeDirs, searchOption, checkHost)).ToArray();

您需要使用以下任一项:-

file.Count()  file.Length