2016-03-01 91 views
0

我正在试图写一个文件夹到桌面。到目前为止,我已经到了这一步。我初始化方法是这样的:代码不创建目录

public class Initialize 
     { 
      public static void Main() 
      { 
       Folder.CreateFolder(); 
      } 
     } 

而且它需要的代码从这里:

public class Folder 
    { 
     public static void CreateFolder() 
     { 
      string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //Gets desktop folder 
      if(System.IO.Directory.Exists(path)) 
      { 
       System.IO.Directory.CreateDirectory(path); 
      } 
     } 
    } 

我想我的问题的一部分是在CreateDirectory电话,但我不知道。我所知道的只是一个终端弹出,并没有创建文件夹。任何人都可以看到错误?让我知道,在此先感谢!

+1

顺便说一句桌面文件夹不总是存在吗? –

+2

这个代码无论如何不会创建一个目录,因为当它按照@Ashkan的指示被修复时,它将尝试创建已存在的桌面目录... – CodeCaster

+0

为什么它说“如果目录存在,创建它” ? – oscilatingcretin

回答

2

你必须尝试,如果它不存在,创建文件夹,还可以使用的 Environment.SpecialFolder.DesktopDirectory 代替 Environment.SpecialFolder.Desktop

添加!到您的比较

public class Folder 
    { 
     public static void CreateFolder() 
     { 
      string path = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); //Gets desktop folder 
      if(!System.IO.Directory.Exists(path)) 
      { 
       System.IO.Directory.CreateDirectory(path); 
      } 
     } 
    } 
+0

您可以调用Directory.CreateDirectory,因为此代码将在内部检查目录是否存在。 –

1

使用Enviorment.SpecialFolder.DesktopDirectory相反,Enviorment.SpecialFolder.Desktop枚举是虚拟文件夹。