【发布时间】:2010-05-21 20:43:30
【问题描述】:
我昨天在 SO 上发布了这个,我收到了一个很好的答案,但我需要改变它,我不知道怎么做。
这是我的original question:
我需要从文本文件中删除最后一行。我知道如何在 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),我如何将其更改为仅删除文本文件的最后一行。
如果不是那个,比如%,那么我不想删除最后一行。
有人可以修改上面的代码为我做这件事吗?
【问题讨论】: