关于文件操作,如果删除一行,只能全部读取后重写吗,这样是不是太慢? 读一行写一行,用ReadLine和WriteLine 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Windows文件系统并不支持删除文件前端(NTFS的稀疏文件一定程度上可以做,但得不偿失)。因此,如果是大文件,就应该避免前端删除。另外一种方法是在文件系统层次上不进行删除,但定义一个数据结构来标志删除区域。条件就是你自己的程序也要理解这种数据结构。 不会有几百G的文件吧在循环体里读一行写一行string line = rd.ReadLine().Replace("你要删除的文本","");sw.WriteLine(line);不用担心内存不足吧,系统给你程序分配的空间有限制的 FileStream是支持随机读写的,你可以在文件的相应的位置填充占位符,或是另用一个索引文件指示哪些位置被删除了,视你的场景来选择当然文件拆分也是个办法。毕竟windows的“磁盘管理系统”味没脱干净,只能靠自己在外围想办法,据我所知不存在你想要的API题外话,既然是几百G就不要ReadToEnd了 通常是读取-替换-保存,对于超大文件,有说有分页方法,http://bbs.csdn.net/topics/390052508,没有测试过,你不妨试试。 算法问题?4.05小时等于多少小时,多小分钟,多少秒 谁能翻译一下下面的文字 C#中保护方法的使用 求助:如何更改HScrollBar的最大值的属性类型为double .net做XML Schema验证问题. ERP系统代码 急呀日期怎么加天数呀?如DateTime.Now()加上5,或其他小数之类 C#中最大化窗体的属性是什么? 在sqlDataAdapter中怎么取得一例的值? 如何才能长专家分,到什么标准才能加三角。 请问我要异步加载一个datatable进入一个gridcontrol怎么操作? SQLite多表查询关键字
因此,如果是大文件,就应该避免前端删除。另外一种方法是在文件系统层次上不进行删除,但定义一个数据结构来标志删除区域。条件就是你自己的程序也要理解这种数据结构。
string line = rd.ReadLine().Replace("你要删除的文本","");
sw.WriteLine(line);不用担心内存不足吧,系统给你程序分配的空间有限制的