Как написать в файле начиная с предпоследней строчки? - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д