Bsa*_*sa0 8 .net c# directory io
我在路径上创建了一个文件夹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);
}
Run Code Online (Sandbox Code Playgroud)
当我执行代码时,大多数时候它运行正常,我可以看到文件夹中有一个文件夹tmp TEST.
我的问题是,在其他一些时候,Directory.CreateDirectory(DIR)根本不创建目录.我甚至检查了DirectoryInfo它的回报和它的Exists属性是false和Directory.CreateDirectory(DIR),因为该文件夹不存在,将无法正常工作.对这种奇怪的行为有什么解释吗?
有同样的问题。没有发生错误,但根本不会创建文件夹。刚刚发现了问题的根源和简单的解决方法。
我有类似的东西:
Directory.CreateDirectory("/Users/MyAccount/NewFolder");
#Some code...
Directory.CreateDirectory("/Users/MyAccount/NewFolder/SubFolder");
Run Code Online (Sandbox Code Playgroud)
这将无法在之前创建的目录下创建文件夹。
解决方案:在路径末尾添加斜杠。
代替:
Directory.CreateDirectory("/Users/MyAccount/NewFolder/SubFolder");
Run Code Online (Sandbox Code Playgroud)
做:
Directory.CreateDirectory("/Users/MyAccount/NewFolder/SubFolder/");
Run Code Online (Sandbox Code Playgroud)
添加尾部斜杠解决了该问题,现在可以 100% 成功创建文件夹。没有更多问题了。
| 归档时间: |
|
| 查看次数: |
3538 次 |
| 最近记录: |