用Get 和 Put 语句拷贝大文件,如何设置缓存大小!!!!!急
zolen 2006-07-24 04:27:20 简单代码如下:
Const BUFSIZE = 4096
F1 = FreeFile
Open Src For Binary As F1
F2 = FreeFile
Open Dst For Binary As F2
FSize = LOF(F1)
BTest = FSize - LOF(F2)
ReDim sArray(1 To BUFSIZE) As Byte
Do
If BTest < BUFSIZE Then
ReDim sArray(1 To BTest) As Byte
End If
Get F1, , sArray
Put F2, , sArray
BTest = FSize - LOF(F2)
Doevents
Loop Until BTest <= 0
Close F1
Close F2
.......................
就上面这种方式进行文件拷贝. 小文件还无所谓,比如拷贝1G以上文件,就会严重消耗系统内存,甚至夸张得把系统内存消耗剩余到1M. 然后整个系统就变得十分缓慢. 一直要到拷贝结束后,系统内存释放后,才恢复正常.
请问有什么办法,可以设置文件缓存大小,不让它去无限透支系统内存.
上面的BUFSIZE无论改变什么大小,都不会改变状况的.郁闷ing.请高人指点一下.