读书人

请问:怎么删除文件的部分数据

发布时间: 2012-01-20 18:53:53 作者: rapoo

请教:如何删除文件的部分数据?
先说明一下我的要求:
查看网上的帖子和教材,都是教:kill原文件,然后重新保存一个同名的文件.
但是这样有个问题,原文件只是在磁盘上标记了已经删除,原来的数据依然保留在硬盘原来的位置.而新文件是保存在一个新开辟的空间.
这样的操作相当于普通windows程序(例如记事簿)的“另存为。。。”后再删除原文件。而我要的是直接按“保存”的效果。(直接保存,是在磁盘的原来位置修改数据,以及修改文件结束标识,文件指针和文件的起始地址不变)
看VB的文件操作,OPEN一个文件后,添加数据和修改数据后保存(文件长度不变或者增加),是可以的。

由于我要用MCU对SD卡上保存的文件进行操作,由于工作量以及运算速度等方面的原因,希望修改文件后,该文件的相关指针不发生改变。

正题:
我现在的问题是:数据减少时,该怎样修改文件?

[解决办法]
如果数据量小,整个读出数据给变量,对变量进行操作删减,然后再以覆盖的方式写文件,将修改后的变量添加进去
[解决办法]
但是这样有个问题,原文件只是在磁盘上标记了已经删除,原来的数据依然保留在硬盘原来的位置.而新文件是保存在一个新开辟的空间.
不都是这样的吗?这个逻辑有问题吗?

原文件只是在磁盘上标记了已经删除??磁盘管理不都是这样的?这样就等于说,这块存储区已经释放了。
[解决办法]
这样看看

VB code
Open "A:\1.txt" For Output As #1Close #1Open "A:\1.txt" For Binary As #1Put #1,1,YourByteArrayClose #1 

读书人网 >VB

热点推荐