日期:2014-05-20  浏览次数:20731 次

呜!呜!呜...大哥来帮我!
我是新手!
关于java中的输出流,怎么修改文件中一部分内容啊(如中间的一段)。比如用RandomAccessFile类,怎么调用方法?
小弟先谢了!

------解决方案--------------------
我认为这样可以:
首先创建一个RandomAccessFile对象,以可读可写的方式打开文件。然后读到你想修改的内容,调用getFilePointer()方法得到文件指针当前所指的位置,再调用seek()方法在当前位置设置文件指针,最后写入新的内容。
------解决方案--------------------
“是把那段内容覆盖掉了还是插入了新的内容!??怎么覆盖掉 ”

是插入了新的内容,但是,你原来那段内容还在。所以,还必须要删掉原来的内容才行。RandomAccessFile类没有删提供除的方法。

所以,最简单的办法是,建立一个文件作为中介,使用RandomAccessFile流,把原来的文件前面部分读出来再写入中介文件,然后写入你的新内容,接着再读出原文件后面的部分。这样,这个中介文件就是你要的结果了。

然后,借助File类的方法,删掉原来的文件;把中介文件改成原来文件的名字。这才算完成。