2009-08-24 165 views
15

我只是无法解决这个问题。只有在路径存在的情况下,我才能创建一个带有File.Create ...... File.CrateText等的文件。如果它不是,我们不会写文件并返回一个错误。我如何创建路径?创建路径不存在的文件?

+1

可能重复的[如何在C#中的单个完整路径创建多个目录?](http://stackoverflow.com/questions/2134392/how-to-create-multiple c) – 2013-02-09 00:03:16

回答

29

尝试

Directory.CreateDirectory("C:\MyApp\MySubDir\Data") 

http://www.devx.com/vb2themax/Tip/18678

+0

因为这篇文章最有可能解决您的问题在这里额外的MSDN信息:http://msdn.microsoft.com/en-us/library/as2f1fez.aspx – Bdiem 2009-08-24 08:41:18

+1

我们如何检查路径是否存在?或者我们只是调用这个函数。 – 2009-08-24 08:46:14

+9

阅读! MSDN说:如果文件夹已经存在,CreateDirectory什么也不做。 – Bdiem 2009-08-24 08:48:00

4

您需要先创建目录。它将创建所有发送它的路径中不存在的子目录。这是一个非常强大的功能。

Directory.CreateDirectory(filePath); 

如果您不知道目录是否存在,您可以使用Directory.Exists。但不是这种情况,因为这是毫无意义的。 MSDN指出,如果目录当前存在,CreateDirectory不执行任何操作。但是,如果你想检查目录的所有脑干的另一个原因是,你可以使用:

if(Directory.Exists(folder) == false) 
    { 
    //do stuff 
    } 
1
Directory.CreateDirectory("path"); 
10

既然你已经完整路径(文件夹+文件名),下面的代码将确保您需要的目录路径存在(如果不存在的话)

 FileInfo fileInfo = new FileInfo(fileFullPath); 

     if (!fileInfo.Exists) 
      Directory.CreateDirectory(fileInfo.Directory.FullName); 


     //create the file ... 
1
下面

也应该从事的

FileInfo fileInfo = new FileInfo(fileFullPath); 
    if (!fileInfo.Directory.Exists) fileInfo.Directory.Create() 

工作文件信息目录,而不是静态目录类