阅读正确的目录

时间:2016-12-01 17:51:05

标签: c# directory

我测试了代码并且目录获得了正确的输入,但由于某种原因它无法找到它。有什么我不知道为什么我找不到任何目录吗?

现在我的代码非常简单。

public partial class Form1 : Form
{
    string fileName;
    string dirName;    

    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        dirName = textBox1.Text;
        fileName = textBox2.Text;

        if (System.IO.Directory.Exists(dirName))
        {               
            if (System.IO.File.Exists(fileName))
            {                    
                System.IO.File.Delete(fileName);
            }
            else
            {
                MessageBox.Show("Invalid Directory or File Name");
            }
        }
    }

2 个答案:

答案 0 :(得分:0)

那是因为我猜你是通过输入控件以这种方式传递目录路径“C:/ examplePath /”并且它应该以这种方式声明“C:\\ examplePath”因为转义字符,可能你会再次得到另一个错误,因为当你要求文件存在时,你必须声明它连接目录路径加文件名(及其扩展名)。

所以最后的字符串应该是这样的“c:\\ exampleDir \\ examplefile.ext”

或者只是你应该尝试:

dirName = string.Format("@{0}", textBox1.Text);
fullPathFile = string.Format("{0}/{1}", dirName, textBox2.Text);

然后使用“fullPathFile”而不是“fileName”变量。

不要忘记调试应用程序以确定字符串值是什么。

答案 1 :(得分:0)

根据您的代码,看起来fileName和dirName来自两个不同的文本框控件。而你也没有做任何组合文件路径(或它出现)。因此,当您调用Directory.Exists()时,这是有效的,但它无法找到该文件。当您使用File.Exists()时,您不仅需要传入文件名,还要传递其所在的目录。为此,请使用Path.Combine()方法。

public async Task<IActionResult> Put(string id, [FromBody]DPost value)