用FileReader或BufferedReader能在文件指定位置插入数据么?
如题,如在文件第三行插入数据可以实现么?要怎么实现?
通过这两个能不能对文件的指定位置进行修改?如把第二行的数据换成"abc"
现在遇到这个问题一直卡在这里,都不知如何下手,希望各位指点一下,谢谢!!!
------解决方案--------------------Reader的不行要用RandomAccessFile或FileWriter
------解决方案--------------------所有的Reader或InputStream都是读入的,而Writer或OutputStream是写的,再就是RandomAccessFile,又读又写
------解决方案--------------------想增加数据,只有一个方法
1 读取前面数据
2 写入到一个新的文件(临时文件)
3 写入新的数据
4 读取后面的数据
5 写入新的文件
6 删除老的文件
7 改名新的,为老的
如果你了解存储结构,就会明白这个道理。数据是连续存储的(也许在不同的扇区)。增加和删除就是如此的麻烦
如同数据库的varchar的效率肯定没有char固定的好。