2015-02-09 103 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

相關問題