今天无意间看到java.io中有一个类:RandomAccessFile,可以在文件的任意位置进行读写操作,想到我之前写的一个小项目,想在txt中修改某一行的内容,都是从头遍历txt文件,修改这一行的同时,把整个文件放入缓存,再把修改后的内容重新写入文件,可以说是很蠢了,但一直没找到好的办法。
这个RandomAccessFile可以从特定的某一行开始读写文件,这样就比我之前的办法好一些了。但是,RandomAccessFile不能像文件的指定位置插入内容。如果强制将文件记录指针移动到中间位置后开始输出内容,则新的内容会覆盖文件中原有的内容。所以还是要要先把插入点后面的内容读入缓冲区,等插入完成后,再讲缓冲区的内容追加到文件的后面。
具体内容参考:https://www.cnblogs.com/dongguacai/p/5699444.html
转载于:https://www.cnblogs.com/gaoquanquan/p/10260533.html