二进制读取太慢怎么办?

孙泳勇 2005-11-14 09:10:39
有下面的程序来读取二进制文件,但速度太慢
redim buff(filelen(filename))
open filename for binary as #1
get #1,1,buff()
close #1
有什么方法可以读取的快一些吗?
...全文
281 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
viena 2005-11-15
  • 打赏
  • 举报
回复
如果文件比较大的话(超过内存的空余),不能一次读的
要设合适大小的缓冲区,循环读取
唐古拉山 2005-11-15
  • 打赏
  • 举报
回复
请使用文件内存映射
这样对提升速度有好处

myhgyp 2005-11-15
  • 打赏
  • 举报
回复
同意楼上
northwolves 2005-11-14
  • 打赏
  • 举报
回复
个人认为LOF 比filelen() 稍快一些.
注意一次读写尽可能多的字节,而不是一次读一个字节

Private Sub Command1_Click()
Dim n As Long
Dim arrBytes() As Byte

Open "c:\windows\1stboot.bmp" For Binary As 1
n = LOF(1)
ReDim arrBytes(1 To n) As Byte
Get 1, , arrBytes
Close 1
Open "c:\temp.bmp" For Binary As 1
Put 1, , arrBytes
Close 1
MsgBox "ok"

End Sub

7,757

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧