C# 如何使用c查找文件是否存在#

C# 如何使用c查找文件是否存在#,c#,.net,C#,.net,我想搜索该文件,但它没有采用我在file.Exixts()函数中给出的路径做什么?这可能是因为您的路径不正确 private void button1_Click(object sender, EventArgs e) { FolderBrowserDialog FldrBrowseDlg = new FolderBrowserDialog(); FldrBrowseDlg.ShowNewFolderButton = true; Dialo

我想搜索该文件,但它没有采用我在
file.Exixts()
函数中给出的路径做什么?

这可能是因为您的路径不正确

private void button1_Click(object sender, EventArgs e)
    {
        FolderBrowserDialog FldrBrowseDlg = new FolderBrowserDialog();
        FldrBrowseDlg.ShowNewFolderButton = true;
        DialogResult DigRslt = FldrBrowseDlg.ShowDialog();
        if (DigRslt.Equals(DialogResult.OK))
        {
            textBox1.Text = FldrBrowseDlg.SelectedPath;
            Environment.SpecialFolder rootfolder = FldrBrowseDlg.RootFolder;
        }
    }

    private void button2_Click(object sender, EventArgs e)
    {
        DirectoryInfo dir = new DirectoryInfo(textBox1.Text);
        FileInfo[] files = dir.GetFiles("*doc.zip", SearchOption.AllDirectories);
        foreach (FileInfo fl in files)
        {
            string s1 = fl.ToString();
            string name = s1.Substring(0, 28);
            string kyrname = name + ".txt";
            if (File.Exists(textBox1.Text+"*/"+kyrname))
            {
                label1.Text = "have kyrplus";
            }
            else
            {
                listBox1.Items.Add(name);
            }
您需要检查
文本框1.Text中的值是多少,然后可以将该值与
“*/”
.txt
连接起来。在我看来,这不是一条有效的途径

编辑:

如果要在所有子目录中查找文件,可以这样尝试

File.Exists(textBox1.Text+"*/"+kyrname)

Exists可以正常工作。FileInfo.Exists也是如此。如果返回
false
是因为文件路径错误或文件根本不存在。此外,使用FileInfo和Path的方法返回文件夹、不带文件夹或扩展名的文件名、扩展名等,而不是通过字符串处理来查找文件的文件夹或文件名。如果要创建新路径,请使用
Path.Combine
是否出错<文件名中不允许使用代码>*
/
。你想干什么?查找文件是否存在或执行通配符搜索?您是否正在尝试查找以对文件名执行递归搜索?我没有收到任何错误。我浏览了文件,路径在文本框中,但我想在路径的子文件夹中搜索文件,但我不知道子文件夹的名称,因此我必须在file.Exists()中写入的内容?无<代码>文件.Exists检查是否存在,它不搜索。您已经使用了搜索的方法,它是
DirectoryInfo.GetFiles
Directory.GetFiles
我已经浏览了文件,路径在文本框中,但是我想在路径的子文件夹中搜索文件,我不知道子文件夹的名称,所以我必须在file.Exists()中写入内容??@SaguphaParween:-如果您不确定它在哪个子文件夹中,则可以在子目录中搜索该文件。检查更新的答案,调用
Any()
比调用
FirstOrDefault
和空检查更可取。
var file = Directory.GetFiles(textBox1.Text, kyrname, SearchOption.AllDirectories)
                    .FirstOrDefault();
if (file == null)
{
    // File does not exist
}