我测试了代码并且目录获得了正确的输入,但由于某种原因它无法找到它。有什么我不知道为什么我找不到任何目录吗?
现在我的代码非常简单。
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");
}
}
}
答案 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)