Я хочу прочитать данные из текстового файла через StreamReader, отредактировать специфицированную строку c и записать ее в файл через StreamWriter - PullRequest
0 голосов
/ 27 мая 2020

Я хочу прочитать данные из текстового файла через StreamReader, отредактировать определенную строку c и записать ее в файл (не добавлять строки, а обновить) через StreamWriter.

Я уже создал файл и заполнил его строками. Следующий код предназначен только для редактирования строки из этого файла.

Код работает плавно, но не обновляет данные. Он просто позволяет строке, как она есть в файле.

var path=@"C:\sample.txt";
StringBuilder data = new StringBuilder();
using (StreamReader read=new StreamReader(path))
{                
     var line = "";
     var fields = line.Split(',');
     while (!read.EndOfStream)
     {
         line = read.ReadLine();
         fields = line.Split(',');
         if (fields[0] == txtAccountNumber.ToString())
              data.AppendLine(fields[0] + "," +
                              fields[1] + "," +
                              account.Balance.ToString());
         else
              data.AppendLine(line);
     }
read.Close();
} 

using(StreamWriter write=new StreamWriter(path))
{                
    write.WriteLine(data);
    write.Flush();
    write.Close();
}

1 Ответ

0 голосов
/ 27 мая 2020

Я обнаружил ошибку. Я забыл поместить .Text в txtAccountNumber.ToString ()

var path=@"C:\sample.txt";
StringBuilder data = new StringBuilder();
using (StreamReader read=new StreamReader(path))
{                
     var line = "";
     var fields = line.Split(',');
     while (!read.EndOfStream)
     {
         line = read.ReadLine();
         fields = line.Split(',');
         if (fields[0] == txtAccountNumber.Text.ToString()) //*Point of error
              data.AppendLine(fields[0] + "," +
                              fields[1] + "," +
                              account.Balance.ToString());
         else
              data.AppendLine(line);
     }
read.Close();
} 

using(StreamWriter write=new StreamWriter(path))
{                
    write.WriteLine(data);
    write.Flush();
    write.Close();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...