2014-11-15 60 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

相关问题