2013-04-14 2 views
0

Что я хочу сделать, это открыть мою программу и установить строковый массив, чтобы я мог использовать его для команд if (используется для блокировки людей), и я хочу сохранить там еще одну строку, чтобы она могла быть сохранена и все еще используется, если перезагрузка программы. Может ли кто-нибудь показать мне, как это сделать? Пожалуйста и спасибо:]C# чтение/сохранение данных в файле?

+0

Вы можете показать нам какой-то код?. –

+0

Это должно дать вам подсказку: [Как написать общий массив в CSV-файл?] (Http://stackoverflow.com/questions/8666518/how-can-i-write-a-general-array-to- csv-файл) –

+0

@CodeIgnoto Ну, код для моего бота на торговле паролем, и мне нечего действительно показывать, так как его функция просто не создана, потому что я никогда не делал этого типа на C# – mtcamesao

ответ

0

Вы можете использовать следующее:

string[] lines = File.ReadAllLines(@"Path here").ToArray(); 

Это разбивает каждую строку вверх в массив.

Что касается сохранения файла, google «Сохранение файла в C#», вы получите множество результатов и руководств.

+0

«Не содержит определения для ToArray»:/ – mtcamesao

+0

Добавьте 'Использование System.Collections.Generic' в объявления пространства имен вашей программы. – devilfish17

+0

Я:/но он все еще не работает. – mtcamesao

0

Это, безусловно, лучше, чем решение, которое я разместил первое:

File.WriteAllLines(fileName, yourStringArray); 
yourStringArray = File.ReadAllLines(fileName); 

File.WriteAllLines

File.ReadAllLines

Ниже мой первый ответ. Правильно, но дерьмо!

Нечто подобное должно работать на вас. Не обвиняй меня в неточности, я еще не проснулся! ;)

{ 
    string fileName = @"d:\temp\blacklist.txt"; 
    char seperator = ';'; 

    public Form1() 
    { 
     InitializeComponent(); 

     string[] users = { "Dave", "John", "Shawn" }; 
     //Save(users); 
     users = Load(); 
    } 

    public string[] Load() 
    { 
     string line; 

     using (StreamReader sr = new StreamReader(this.fileName)) 
     { 
      line = sr.ReadToEnd(); 
     } 

     return line.Split(seperator); 
    } 

    public void Save(string[] users) 
    { 
     using (StreamWriter sw = new StreamWriter(this.fileName)) 
     { 
      string line = string.Empty; 

      foreach (string user in users) 
      { 
       line += string.Format("{0}{1}", user, seperator); 
      } 

      sw.WriteLine(line); 
      sw.Flush(); 
     } 
    } 
} 
+0

Нет ли более простого способа? Lol это похоже на много: P – mtcamesao

+0

Да, мой первый ответ был ... дерьмо. См. Улучшенный ответ! –

+0

Прохладный! Похоже, я получил его на работу, но единственное, что я не могу понять, как просто добавить строку и не стереть весь документ ..: P – mtcamesao

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