主题:关于文件书写方式的疑惑
lwlwd04lwlwd04
[专家分:0] 发布于 2012-03-27 19:47:00
向大家请教~~我的一个数据文件有100行,我只想把一个数据文件中的第8行进行更改,将扩展成两行。即原来的第8行数据,改变后,占用了第8和第9一共两行,那么,我是不是更改后,必须要将原来数据文件的第9行道到100行的数据,都得重新写到数据文件里呢?能不是只实现局部改动,而不影响后面的呢?从第9行写入到100行,内容太多了,比较浪费时间。有没有省时的方法呢?请大家指点,谢谢大家~~
回复列表 (共3个回复)
沙发
aliouying [专家分:1150] 发布于 2012-03-27 22:43:00
方法倒是有,在第八第九行的位置,插入一个换行符即可,具体操作可能得看看二进制文件和直接文件读写操作。
声明:我没操作过,只是有这个想法
板凳
臭石头雪球 [专家分:23030] 发布于 2012-03-28 13:19:00
其实文件在磁盘上,是像火车一样存放的。
如果你改动前和改动后,占用相同的字节数。那么可以实现你所谓的“局部改动”
否则,你必须把后面的内容全部重新排列。
尽管我们平常使用的记事本或者其他文本编辑器貌似像“局部改动”一样,实际上,它也是后面全部重新排列的。
如果你的情况符合上面的条件,那么你可以尝试用直接读写方式,即
Open( 12 , File = yourname , access = 'direct' )
这需要你的文件每行都是一样长,否则可能会很复杂。
我来回复