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

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

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

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

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

textual
Листинг программы
void Function() //Если последняя строчка "Каталог" то удаление
        {
            string[] readText = System.IO.File.ReadAllLines(Application.StartupPath + @"\Data\BooksPIP.xml", Encoding.Default);
            string result = readText[readText.Length - 1];
            if (result == "</catalog>")
            {
                ReadDeleteHashFromFile(Application.StartupPath + @"\Data\BooksPIP.xml");
            }
            
        }
 
        private static string ReadDeleteHashFromFile(string MyFilePath) //Удаление последней строчки
        {
            string lastline = "";
            using (StreamReader reader = new StreamReader(Application.StartupPath + @"\Data\BooksPIP.xml"))
            {
                using (StreamWriter writer = new StreamWriter("myfile.tmp"))
                {
                    string line = reader.ReadLine();
                    
                    while (!reader.EndOfStream)
                    {
                        writer.Write(line);
                        line = reader.ReadLine();
                        if (!reader.EndOfStream)
                            writer.Write(writer.NewLine);
                    }
                    lastline = line;
                }
            }
            File.Delete(MyFilePath);
            File.Move("myfile.tmp", MyFilePath);
            File.Delete("myfile.tmp");
            return lastline;
 
        }

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


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

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

6   голосов , оценка 4.333 из 5
Похожие ответы