http://bbs.csdn.net/topics/390483868/
如果要删除任意数据的话,一般都要经过先检索、后处理的过程。
如何提高检索速度是关键。
其中可以为文件中的每行数据建立索引,如何建立索引,就要参考索引的使用方法了。
可以将文件中的每行数据提取出来,放到指定的存储结构中,如链表、数组、Map等。
使用Java中支持这些结构的API来处理每行数据,处理完毕后,
再讲存储结构中的内容写回文件中。
不要真正的删除,因为删除没有什么好的方法,必须把整个文件再复制一次。
使用标记:例如把这一行的前多少个字节数据修改成标记的值,读取每一行时判断是否有删除的标记。
很多工具都这样做,当到例如半夜后启动一个线程把文件中被标记为删除的部分真正的删除。