2015-10-14 15 views
0

У меня есть исключение catch catch, где, если файл dict.csv cant e нашел сообщение, будет и новый файл будет создан с именем newdict.csv. Как загрузить старое значение файла dict.csv в новый файл?пытается создать исключение catch catch, где, если файл не может быть найден, вместо него загружается новый файл со значениями старого файла

Значения представляют собой список имен пользователей и паролей?

try //checks for existing dict.csv file and reads it for key and value and checks against credentials 
     { 

      var data = File.ReadAllLines(@"C:\Users\Scott\Documents\dict.csv");//Reads all contents of a file and then closes the file once its been read 
      foreach (var login in data) 
      { 
       var parts = login.Split(',');//creates a variable called data and loads it with the dict.csv file 
       Credentials.Add(parts[0].Trim(), parts[1].Trim());//splites the key and value into [0] and [1] and trim removes leading and white space and applies "," 
      } 
     } 
     catch (FileNotFoundException)//How do I load the newdict.csv with values of dict.csv? 
     { 
      MessageBox.Show("dict.csv file does not exist! Creating new file called newdict.csv", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); 
      using (StreamWriter writer = File.AppendText(@"C:\Users\Scott\Documents\newdict.csv ")) 
      Credentials.Add("bob2", "password");       
      Credentials.Add("user", "pass"); 
     } 
+2

Как вы можете загрузить файл со значениями из файла, который не существует? – KevinDTimm

+0

Новый файл будет существовать, если старый не – Scott

+0

Я не уверен, знаете ли вы, что хотите. Сначала вы goint для создания 'newdict.csv', если' dict.csv' не существует, а затем вы хотите загрузить содержимое не существующего старого файла 'dict.csv' в' newdict.csv'? – t3chb0t

ответ

2

Я думаю, вы бы лучше, если бы вы использовали:

string[] newCredentials, data, parts; 
if (!File.Exists(@"C:\Users\Scott\Documents\dict.csv")) 
{ 
    //create .csv file 
    newCredentials = new string[2]; 
    newCredentials[0] = "Bob2,password"; 
    newCredentials[1] = "user,pass"; 
    File.WriteAllLines(@"C:\Users\Scott\Documents\newdict.csv", newCredentials)) 
    Credentials.Add("bob2", "password");       
    Credentials.Add("user", "pass"); 
} 
else 
{ 
    data = File.ReadAllLines(@"C:\Users\Scott\Documents\dict.csv"); 
    foreach(string login in data) 
    { 
     parts = login.Split(','); 
     Credentials.Add(parts[0].Trim(), parts[1].Trim()); 
    } 
} 
+0

Ну, я хочу, чтобы удержать попытку, но как загрузить новый файл csv с помощью newCredentials после его создания? – Scott

+0

@Scott не File.WriteAllLines (строка, строка []) работают для вас? – GeMaths

+0

Не работает! Извините – Scott