2009-08-24 166 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() 

工作文件信息目錄,而不是靜態目錄類