只想到一个办法,把该行前面的行和后面的行写进一个temp文件,然后再把该temp文件的内容写入回原文件中。
不知道有没有更好的方法

解决方案 »

  1.   

    我一般的做法也是写临时文件,java读写文件的效率好像不是太高,尤其是超过几m的文件,总出错
      

  2.   

    像WORD等文件格式才能随机增删数据,TXT?恐怕操作系统不支持吧。改进一下 julyclyde(Java初学(大学不教只好自己学)) 的算法:
    一、将文件的后半部分读入内存(不包括要删的那一行);
    二、定位到要删除行的前面;
    三、将内存中的数据写入,并在后面加上文件结束符。
    读写磁盘的次数会少一些,不过……文件中最后一行的磁盘空间是否就永远无法利用了?