Как написать в файле начиная с предпоследней строчки? - C#

Узнай цену своей работы

Формулировка задачи:

Есть файл, в который надо записать данные, начиная с предпоследней строчки. Это код который пишет в файл текст, в конец файла. Подскажите пожалуйста как реализовать?
Листинг программы
  1. private void metroButton1_Click(object sender, EventArgs e)
  2. {
  3. StreamWriter write_text;
  4. FileInfo file = new FileInfo(Application.StartupPath + @"\Data\BooksPIP.xml");
  5. write_text = file.AppendText();
  6. write_text.WriteLine(metroTextBox1.Text);
  7. write_text.WriteLine(metroTextBox1.Text);
  8. write_text.Close();
  9. this.Hide();
  10. }

Решение задачи: «Как написать в файле начиная с предпоследней строчки?»

textual
Листинг программы
  1. void Function() //Если последняя строчка "Каталог" то удаление
  2.         {
  3.             string[] readText = System.IO.File.ReadAllLines(Application.StartupPath + @"\Data\BooksPIP.xml", Encoding.Default);
  4.             string result = readText[readText.Length - 1];
  5.             if (result == "</catalog>")
  6.             {
  7.                 ReadDeleteHashFromFile(Application.StartupPath + @"\Data\BooksPIP.xml");
  8.             }
  9.            
  10.         }
  11.  
  12.         private static string ReadDeleteHashFromFile(string MyFilePath) //Удаление последней строчки
  13.         {
  14.             string lastline = "";
  15.             using (StreamReader reader = new StreamReader(Application.StartupPath + @"\Data\BooksPIP.xml"))
  16.             {
  17.                 using (StreamWriter writer = new StreamWriter("myfile.tmp"))
  18.                 {
  19.                     string line = reader.ReadLine();
  20.                    
  21.                     while (!reader.EndOfStream)
  22.                     {
  23.                         writer.Write(line);
  24.                         line = reader.ReadLine();
  25.                         if (!reader.EndOfStream)
  26.                             writer.Write(writer.NewLine);
  27.                     }
  28.                     lastline = line;
  29.                 }
  30.             }
  31.             File.Delete(MyFilePath);
  32.             File.Move("myfile.tmp", MyFilePath);
  33.             File.Delete("myfile.tmp");
  34.             return lastline;
  35.  
  36.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы