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
}