有一个文件,如test.txt
内容为:hello world
infomation
java
com = 11
ok现读出这个文件的com = 11这一行并更改为com = 100
然后将此行覆盖原来的com = 11 保存到文件中去
请问有什么效率好点的方法吗?
由于文件比较大,不适合全读出来,改完后再全部覆盖保存原文件.
谢谢大家

解决方案 »

  1.   

    对文件的这种操作,没啥好办法,只能读出写入(如果是修改1个字符,倒可以用RandomFileAccess直接定位后改)
    如果文件大,可以
    while(未结束){
      读1行
      符合条件则修改
      写入新文件
    }
    新文件改名为原文件
      

  2.   

    更正:RandomFileAccess->RandomAccessFile
      

  3.   

    RandomAccessFile
    的seek()方法,用于移动位置!
      

  4.   

    不用txt文件,用属性文件或者是XML文件不就好定位了吗?
      

  5.   

    没办法
    你第二次写com = 100进文件,100的最后一个0会把\n给覆盖
    如果你写com = 1000进文件,1000的最后一个0会把ok的o给覆盖
    除非你全部重写一遍