2015-02-09 69 views
0

我想要将文件保存到C驱动器,用户将选择任何位置来保存文件。我已经尝试了下面的代码,它给我一个粗体的错误。请你纠正我是错的。我也想在保存之前检查文件是否存在。我怎样才能做到这一点?如何将资源文件(resx)保存到驱动器

这是错误我得到验证正确的路径给出

 string PathSelection = ""; 
      if (PathSelection.Length > 0) 
      { 
       txtInputfile.Text = PathSelection; 
      } 
      // i tried this 
      SaveFileDialog saveFileDialog1 = new SaveFileDialog(); 
      saveFileDialog1.InitialDirectory = saveFileDialog1.FileName; 
      saveFileDialog1.Title = "Save Resource Files"; 
      saveFileDialog1.CheckFileExists = true; 
      saveFileDialog1.CheckPathExists = true; 
      saveFileDialog1.DefaultExt = "resx"; 
      saveFileDialog1.Filter = "Save Resource Files (*.resx)|*.resx"; 
      saveFileDialog1.FilterIndex = 1; 
      saveFileDialog1.RestoreDirectory = true; 

      if (saveFileDialog1.ShowDialog() == DialogResult.OK) // error here! 
      { 
       PathSelection = saveFileDialog1.FileName; 
       //string path = saveFileDialog1.FileName; 
       oDataSet.WriteXml(PathSelection); 
      } 

      oDataSet.Tables.Add("Data"); 
+0

什么是错误? – 2015-02-09 09:56:02

+0

错误:验证是否给出了正确的路径 – 2015-02-09 09:56:33

+0

您是否在您的类中添加了“使用System.Windows.Forms;'指令? – 2015-02-09 09:56:48

回答

0

这部分是奇数:

SaveFileDialog saveFileDialog1 = new SaveFileDialog(); 
saveFileDialog1.InitialDirectory = saveFileDialog1.FileName; 

当你试图设置初始目录的对话框显示尚未被用户选择的文件名。尝试采取这条线?

关于检查文件是否存在,你已经添加了一行:

saveFileDialog1.CheckFileExists = true; 

这将检查以确保您指定的文件存在,这就是为什么你得到你所得到的错误。如果删除此行,则可以使用以下命令检查是否覆盖文件或创建新文件:

if(System.IO.File.Exists(filename)) 
+0

我已删除该行并仍然收到相同的错误:验证是否给出了正确的文件名 – 2015-02-09 11:17:48

+0

它是编译错误还是运行时错误? – 2015-02-09 11:19:58

+0

我已经提出了一个突破点,看看它是否打破了,如果这就是你要求的。 – 2015-02-09 11:33:58

相关问题