假设有一个文本文件,里面有100行文本字符。我想在这个文件的某个特定位置追加或修改字符串,例如第8行的第9列追加"hello",不创建新文件,并且也不想从头到尾写一便,直接修改这个文件,用java如何实现,望高手帮忙解决一下。先谢谢了。

解决方案 »

  1.   

    FileWriter(new File(""));
    你可以查一下帮助 里面没有直接在 文件 中写东西的
    至少我不会 不能帮助你
    先一下 我也很想知道的答案
      

  2.   

    你想要做的恐怕是不可能的,因为Java对文件的操作是先读后写,File类本身不提供修改的操作,也就是说还没有到你想要的那个抽象高度。
      

  3.   

    嗯,同意二楼。即使是RandomAccessFile,也只是让你可以在指定位置写东西覆盖以前的,没有提供insert或者replace的方法。你只能先读出来,处理完再写入。
      

  4.   

    除非规范每行的数据长度,比如50个字节时,可以采用 RandomAccessFile,
    我记得在迪特尔父子的《Java程序设计教程》中就有个例子,把文件作为简单
    的数据库来用。但是对于没有格式规范的纯文本文件来说这点根本不可能做到,目前也没有软
    件能直接做到,像文本编辑工具都是全部加载进内存,修改后再重新存回去的。
      

  5.   

    要是针对某些文件类型的还是有变通的方法
    比方说word 就可以通过word的域来定位你要修改的位置来进行追加
    方法你在word中加入一个变量名 代码只要找到这个变量就能定位到了
    具体的技术我觉得jaocb不错  例子网上也很多