Directory.Exists()总是返回false?

3
我目前在我的C#代码中遇到了一个奇怪的问题。我尝试使用folderBrowserDialog来检索用户选择的文件夹的路径。
一旦用户点击确认选择(所选路径显示在"textBox1"中),如果找到文件夹位置,则应返回消息“连接已建立”(如果找到目录/文件)或“未找到连接”(如果文件/目录不存在)。
然而,由于某种奇怪的原因,无论如何检查目录是否存在,这段代码始终返回false - 是的,它确实存在。我的应用程序在其清单文件中请求管理员权限,因为我认为这将解决问题,所以我仍然对此感到困惑。
private void button1_Click(object sender, EventArgs e)
{
  //BROWSE 
  folderBrowserDialog1.ShowDialog();
  textBox1.Text = folderBrowserDialog1.SelectedPath;
}

private void button2_Click(object sender, EventArgs e)
{
  var path = textBox1.Text + @"\" + "connection.pss";
  //ESTABLISH CONNECTION

  if (textBox1.TextLength > 0)
  {
    if (Directory.Exists(path))
    { 
      connectionstatus.Text = "CONNECTION ESTABLISHED!";
      //SET UP VARIABLES
    }

    if (!Directory.Exists(path))
    {
      connectionstatus.Text = "NO CONNECTION FOUND!";
    }
  }
}

3
顺便提一下:您可能想考虑使用Path.Combine来构建文件/文件夹路径,而不是连接字符串。这样做会更少出错。 - Matt Burland
2个回答

19

那个目录不存在,但是该文件存在。 :)

请使用File.Exists代替。


没问题,@Kya。有时候只需要另一个人的眼睛。 - Michael Petrotta

2

Connection.pss不在目录中。请尝试仅检查目录或使用File.Exists()。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接