Я вчера написал это на SO, и я получил ответ, который отлично работает, но мне нужно изменить его, и я не знаю как.
Вот мой оригинальный вопрос :
Мне нужно убрать последнюю строку из текстового файла.Я знаю, как открывать и сохранять текстовые файлы в C #, но как бы обрезать последнюю строку текстового файла?
Текстовый файл всегда будет иметь разные размеры (некоторые имеют 80 строк, некоторые имеют 20).
Как это сделать?
Вот код, который кто-то дал мне, чтобы сделать это (который прекрасно работает)
//Delete the last line from the file. This line could be 8174, 10000, or anything. This is from SO
string tempfile = @"C:\junk_temp.txt";
using (StreamReader reader2 = new StreamReader(newfilename))
{
using (StreamWriter writer2 = new StreamWriter(tempfile))
{
string line = reader2.ReadLine();
while (!reader2.EndOfStream)
{
writer2.WriteLine(line);
line = reader2.ReadLine();
} // by reading ahead, will not write last line to file
}
}
File.Delete(newfilename);
File.Move(tempfile, newfilename);
File.Delete(tempfile);
Как бы изменить это, чтобы удалить только последнюю строку текстового файла, если это строка из 4 или 5 цифр (например, 8001 или 99999).
Если это что-то иное, например,%, тогда я не хочу удалять последнюю строку.
Может кто-нибудь изменить вышеприведенный код, чтобы сделать это для меня?