发新话题
打印

[基础] 文件读写(一个奇怪的现象????)

文件读写(一个奇怪的现象????)

<如果把其中的
If basePartLen < 1024 * 5 * 3 Then                  
    miniLoopTime = 0
    miniLeft = 0
Else
    miniLoopTime = basePartLen \ (1024 * 5)
    miniLeft = basePartLen Mod (1024 * 5)
End If
改为
If basePartLen < 1024 * 2 * 3 Then                  
    miniLoopTime = 0
    miniLeft = 0
Else
    miniLoopTime = basePartLen \ (1024 *2)
    miniLeft = basePartLen Mod (1024 * 2)
End If
或者相应地改为(1024*n), 且在后面的redim temp(1024*5) as byte里面作相当地改动,发现:n越大,分割后得到的文件复原后与原文件大小越接近???!!!(我在测试时都是复原后比原文件大)
本来可以只要redim temp(basepartlen) as byte就行,但是不好得到文件读写进度.
我是为了在分割时更准确地知道处理进度的(并用进度条显示出来)。

[ 本帖最后由 只爱陌生人 于 2006-10-26 15:52 编辑 ]

TOP

这样肯定不行,不要老想关1024,到最后的时候,你必须计算字节数
下面代码供你参考<
换个头像,看见广告就眼红,直接封ID。

TOP

还真TMD邪了??

在我这台电脑上, 连下面这段代码都运行不正确??!!<2.txt总比1.txt多出一字节???用其它类型文件也是如此!!!

[ 本帖最后由 只爱陌生人 于 2006-10-28 10:43 编辑 ]

TOP

这样试试
ReDim temp(LOF(1)-1) As Byte
换个头像,看见广告就眼红,直接封ID。

TOP

redim(temp(lof(1)-1) as byte可以是可以,但是
这没道理呀,怎么解释呢???搞不懂!?

TOP


比如你有1024个字节
redim a(1024) 实际上数组a实际上是有1025个,因为第一个是a(0),最后一个是a(1024)
换个头像,看见广告就眼红,直接封ID。

TOP

发新话题