1。多线程访问没有问题,但是不能同时修改;
2。读一行修改一行好像不行, 降温建逐行读入,将要修改的修改后,一起放到buffer里面,
   再将全部文件内容全部写出来。

解决方案 »

  1.   

    To: Debian(乌鱼子)
    对于问题2:例如有一个文本文件test.txt,内容为:
    ////////////---开始---//////////
    我是第一行
    我是第二行
    我是第三行
    我是第四行
    ///////////----结束---/////////
    (不包括开始结束),现在我读到第二行,我要把这一行改为“我已被修改”,
    请问能否不用临时文件就能办到?
      

  2.   

    对于问题2:例如有一个文本文件test.txt,内容为:
    ////////////---开始---//////////
    我是第一行
    我是第二行
    我是第三行
    我是第四行
    ///////////----结束---/////////
    (不包括开始结束),现在我读到第二行,我要把这一行改为“我已被修改”,
    请问能否不用临时文件就能办到?
    可以!用RandomAccessFile(随机访问文件类)
    RandomAccessFile("d:/test.txt","rw");//rw表示可以写和读!void seek(long newPos)throws IOException可以用指定文件内部指针的当前位置!
    这样的话,你往文件的写数据时就是从当前位置写!