我在路径C:\Users\MYUSER\Desktop\TEST\
上创建了一个文件夹。
我有以下代码:
private const string DIR = @"C:\Users\MYUSER\Desktop\TEST\tmp";
static void Main(string[] args)
{
if (Directory.Exists(DIR))
Directory.Delete(DIR);
for (int i = 0; i < 100; i++)
{
var dinfo = Directory.CreateDirectory(DIR);
Directory.Delete(DIR);
}
Directory.CreateDirectory(DIR);
}
当我执行代码时,大多数情况下它运行正常,并且我可以看到文件夹
TEST
中有一个文件夹tmp。我的问题是,其他时候
Directory.CreateDirectory(DIR)
根本不会创建目录。我什至检查了返回的DirectoryInfo
,其Exists
属性为false
,由于该文件夹不存在,因此Directory.CreateDirectory(DIR)
无法使用。对于这种怪异的行为有什么解释吗? 最佳答案
遇到了同样的问题。没有发生错误,但是根本不会创建文件夹。刚刚发现了问题的根源和简单的解决方法。
我有类似的东西:
Directory.CreateDirectory("/Users/MyAccount/NewFolder");
#Some code...
Directory.CreateDirectory("/Users/MyAccount/NewFolder/SubFolder");
这将无法在之前创建的目录下创建文件夹。
解决方案:在路径的末尾添加一个斜杠。
代替:
Directory.CreateDirectory("/Users/MyAccount/NewFolder/SubFolder");
做:
Directory.CreateDirectory("/Users/MyAccount/NewFolder/SubFolder/");
添加尾斜杠可解决此问题,现在它可以100%的时间创建文件夹。没有更多的问题。