文件操作的问题
我有个文本文件,估计比较大,十几二十MB. 
 在.net   下,我如何删除文件中的任意一行. 
 比如,删除最后一行. 
 请问最高效的方法是什么? 
 (我不想把文本所有内容读入内存!)   
 帮帮忙,谢谢!
------解决方案--------------------不懂 顶!!!
------解决方案--------------------这个不知道 能行吗?
------解决方案--------------------upupup
------解决方案--------------------只想到一行一行的搞。不知道有没有其他的方法
------解决方案--------------------一行一行的搞,似乎是最经济的办法了
------解决方案--------------------如果你不怕麻烦,可以开缓冲区,用FileSream二进制方式读写,会稍微快一点   
 但是仍然要全读,查找回车换行的位置,此位置以后的全写
------解决方案--------------------文本文件是顺序存储的,不能随机访问,没有删除其中一部分的说法
------解决方案--------------------建立一个临时文件,500行或更多的读\写\编辑,然后保存到临时文件,完成后删除原文件,临时文件改名
------解决方案--------------------删最后一行的,不用计数了, 
 循环中改为先写后读,则最后一行没写   
 using System.IO;   
 //……   
 StreamReader sr = new StreamReader(@ "C:\1.txt "); 
 StreamWriter sw = new StreamWriter(@ "C:\1_temp.txt "); 
 string str = sr.ReadLine(); 
 while (sr.Peek() != -1)  
 { 
     sw.WriteLine(str);//删除第三行,不写 
     str = sr.ReadLine();   
 } 
 sr.Close(); 
 sw.Close(); 
 File.Delete(@ "C:\1.txt "); 
 File.Move(@ "C:\1_temp.txt ", @ "C:\1.txt ");