2014-11-15 97 views
0

我需要保存使用SaveFileDialog到特定文件夾中的文件..將文件保存到特定的文件夾在C#中,使用SaveFileDialog

對於examaple,以保存「C:\ MyNewFolder」

如果文件夾dosent存在所以要創建並保存,如果文件夾只存在保存..

 String fileName=""; 
     String date = DateTime.Now.Day+"-"+DateTime.Now.Month+"-"+DateTime.Now.Year; 
     SaveFileDialog saveFileDialog1 = new SaveFileDialog(); 
     saveFileDialog1.FileName = fileName; 
     if (saveFileDialog1.ShowDialog() == DialogResult.OK) 
     { 
      using (Stream s = File.Open(saveFileDialog1.FileName,FileMode.CreateNew)) 

      using (StreamWriter sw = new StreamWriter(s)) 
      { 
       sw.WriteLine(tbName.Text); 
       sw.WriteLine(tbSummary.Text); 
      } 

     } 
+0

你如何指定一條不遙遠的路徑?如果您嘗試直接在文件名文本框中輸入,則會從SaveFileDialog中收到錯誤消息。 – Steve

+0

@Steve謝謝..注意,我該如何糾正? – user2922456

+0

按下按鈕在SaveFileDialog中創建一個新文件夾?據我所知,SaveFileDialog不允許在Windows7中返回不可靠的路徑,即使您爲FileOK事件編寫代碼。 [請參閱Microsoft Connect上的這篇文章](https://connect.microsoft.com/VisualStudio/feedback/details/716464/savefiledialog-checkpathexists-ignored-on-windows-7) – Steve

回答

1

你可以找

SaveFileDialog save = new SaveFileDialog(); 
save.InitialDirectory = "c:\\MyNewFolder"; 
save.RestoreDirectory = true; 
+0

但是,如果該文件夾劑量exsit它無法正常工作。 – user2922456

+0

你可以在保存文件之前檢查文件夾,如果不存在創建它。 SaveFileDialog允許選擇位置,因此您只能從初始目錄開始。 –

+0

@ Grx70如何檢查目錄是否存在? – user2922456

1
string strPath="c:\MyNewFolder"; 

if (!Directory.Exists(strPath)) 

{ 

    Directory.CreateDirectory(strPath); 

} 

else 

{ 

//Continue your logic and append your file name 

} 
+0

你不必檢查目錄是否存在。如果該文件夾不存在,則不會發生。如果該目錄不存在,它將被創建 – Sybren

相關問題