论坛首页 Java企业应用论坛

java 替换文件中的某一行

浏览 7128 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2015-03-02  

有一个文件,文件中有很多内容,如何最快速的替换文件中的某一行。

例如:

文件中的内容为:

你好!

阿弥陀佛!

小明!

小红。

 

要将文件中的 小明! 替换为 123456 。

不重写文件,不替换文件,文件较大考虑性能等问题。

求高手指教,如何实现?

   发表时间:2015-03-02  
打开需要替换的文件
打开拟定替换后的文件
循环
    读一行
    是否替换
    写文件
删除需要替换的文件
修改替换后的文件名
0 请登录后投票
   发表时间:2015-03-03  
java.io.RandomAccessFile可以访问任意文件中的位置并替换
0 请登录后投票
   发表时间:2015-03-03  
jackra 写道
打开需要替换的文件
打开拟定替换后的文件
循环
    读一行
    是否替换
    写文件
删除需要替换的文件
修改替换后的文件名

这样需要重新写文件,效率很低!

 

0 请登录后投票
   发表时间:2015-03-03  
荖衲呮鼡彯渘 写道
jackra 写道
打开需要替换的文件
打开拟定替换后的文件
循环
    读一行
    是否替换
    写文件
删除需要替换的文件
修改替换后的文件名

这样需要重新写文件,效率很低!

 

除非你直接改硬盘发财

微软的offic这么干,肯定有他不可道人的原因。

0 请登录后投票
   发表时间:2015-03-05  
RandomAccessFile是覆盖文件中的内容,如果替换的内容长于原来的内容,就有问题了。所以创建一个新文件是需要的,可以想办法提高复制效率。
0 请登录后投票
   发表时间:2015-03-05  
正则表达式
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics