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

Какая ошибка? –

+0

Ошибка: убедитесь, что указан правильный путь –

+0

У вас есть директива 'using System.Windows.Forms;', добавленная в ваш класс? –

ответ

0

Эта часть нечетное:

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

Как вы пытаетесь установить в исходный каталог для диалога с покажите имя файла, которое еще не было выбрано пользователем. Попробуйте взять эту линию?

Что касается проверки файл существует, то линия вы добавили:

saveFileDialog1.CheckFileExists = true; 

Это будет проверять, чтобы убедиться, что файл, который вы указали существует, поэтому вы получаете сообщение об ошибке вы получаете. Если вы удалите эту строку, вы можете проверить, переписываете ли вы файл или создаете новый, используя:

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

Я удалил эту строку и все еще получаю ту же ошибку: убедитесь, что было задано правильное имя файла. –

+0

Является ли это компиляцией или ошибкой выполнения? –

+0

Я поставил точку останова, чтобы увидеть, было ли это нарушение, если это то, о чем вы просите. –

Смежные вопросы