rainstormmaster(暴风雨 v2.0),速度确实很慢,自己定义了下缓冲区,结果死机了:)
设想是一次读100KB的大小,我需要做什么?
谢谢
其他朋友可能不知道我说什么,下面是代码,欢迎大家指点我
Dim buff() As Byte
ReDim buff(0) '一次只读一个字节,速度会相当慢,想快点就要把缓冲区定义得大一些,当然代码也要进行修改
Open mFile For Binary As #1
For i = 1 To mFileLen
Get #1, i, buff(0)
iStm.Write buff
Me.ProgressBar1.Value = i
Next
-------------------------------------------------------
本来是准备单独发感谢贴,但是我只有40点了(汗~~~,小弟问题比较多),所以一并发了。
到今天总算是把数据库程序搞出来了,学习了一些控件的知识,首先很感谢csdn提供了这个技术交流平台。其次,非常谢谢帮助过我的朋友,暴风雨 v2.0,Leftie(左手,为人民币服务),超级绿豌豆,zyg0(影子(成功减肥10斤,可给我饿坏了,我要补回来) ,金脚指,老加班的人--好好学习,天天吃饭) ,vbman,sendwb(风间苍月),yinweihong(真名:尹伟红) ,hot1kang1(许仙) ,还有许许多多的朋友,他(她)们曾耐心地解答过我的很多问题。这里很感谢你们。
谢谢
设想是一次读100KB的大小,我需要做什么?
谢谢
其他朋友可能不知道我说什么,下面是代码,欢迎大家指点我
Dim buff() As Byte
ReDim buff(0) '一次只读一个字节,速度会相当慢,想快点就要把缓冲区定义得大一些,当然代码也要进行修改
Open mFile For Binary As #1
For i = 1 To mFileLen
Get #1, i, buff(0)
iStm.Write buff
Me.ProgressBar1.Value = i
Next
-------------------------------------------------------
本来是准备单独发感谢贴,但是我只有40点了(汗~~~,小弟问题比较多),所以一并发了。
到今天总算是把数据库程序搞出来了,学习了一些控件的知识,首先很感谢csdn提供了这个技术交流平台。其次,非常谢谢帮助过我的朋友,暴风雨 v2.0,Leftie(左手,为人民币服务),超级绿豌豆,zyg0(影子(成功减肥10斤,可给我饿坏了,我要补回来) ,金脚指,老加班的人--好好学习,天天吃饭) ,vbman,sendwb(风间苍月),yinweihong(真名:尹伟红) ,hot1kang1(许仙) ,还有许许多多的朋友,他(她)们曾耐心地解答过我的很多问题。这里很感谢你们。
谢谢
相关这个问题的链接:)
http://community.csdn.net/Expert/TopicView3.asp?id=4418371谢谢
分段读取更合理一些
Dim i As Long
Dim mFile As String
mFile = "e:\mc\rich.doc"
Dim mFileLen As Long
mFileLen = FileLen(mFile)
Me.ProgressBar1.Min = 0
Me.ProgressBar1.Max = mFileLen
Dim iStm As ADODB.Stream
Set iStm = New ADODB.Stream
iStm.Type = adTypeBinary
iStm.Open
Dim buff() As Byte
Dim buffsize As Long
Dim ReadNum As Long
Dim NotReadbuffsize As Long
buffsize = 1024& * 100&
If mFileLen < buffsize Then
ReDim buff(mFileLen - 1)
Open mFile For Binary As #1
Get #1, , buff
iStm.Write buff
Me.ProgressBar1.Value = mFileLen
Close #1
Else
NotReadbuffsize = mFileLen
Open mFile For Binary As #1
Do
If NotReadbuffsize < buffsize Then
ReDim buff(NotReadbuffsize - 1)
Else
ReDim buff(buffsize - 1)
End If
Get #1, , buff
iStm.Write buff
ReadNum = ReadNum + 1
NotReadbuffsize = mFileLen - buffsize * ReadNum
Me.ProgressBar1.Value = iStm.Size
Loop Until NotReadbuffsize <= 0
Close #1
End If
iStm.SaveToFile "e:\mc\bpi.doc"
iStm.Close
End Sub