在线求助,文件读入字节数组时内存溢出问题。

of123 2003-11-05 11:38:18
调用一个过程,在过程中用一个数组读入文件内容。当读过几个文件后,再读一个几M的大文件,出现内存溢出错误。先读大文件则正常执行。似乎是数组没有释放,为什么?怎么办?

Dim Filenr As Integer
Dim ByteArray() As Byte

'Open the source file and read the content
'into a bytearray
Filenr = FreeFile
Open SourceFile For Binary As #Filenr
ReDim ByteArray(0 To LOF(Filenr) - 1)
Get #Filenr, , ByteArray()
Close #Filenr
...全文
194 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hillstream3 2003-11-12
  • 打赏
  • 举报
回复
可能是不能超过 4M,最好制作缓冲区
of123 2003-11-06
  • 打赏
  • 举报
回复
在其他程序段文件数据处理中,有大量CopyMemory用于加密。
压缩加密量之后问题解决。
谢谢各位。
射天狼 2003-11-05
  • 打赏
  • 举报
回复
那就用完了释放呗
erase bytearray
of123 2003-11-05
  • 打赏
  • 举报
回复
我读的是9M的大文件。
出错时,停留在ReDim ByteArray(0 To LOF(Filenr) - 1)语句。
flc 2003-11-05
  • 打赏
  • 举报
回复
学习
rainstormmaster 2003-11-05
  • 打赏
  • 举报
回复
代码应该没问题
射天狼 2003-11-05
  • 打赏
  • 举报
回复
你就是这些代码吗?应该不会有问题啊!!

Dim Filenr As Integer
Dim ByteArray() As Byte

'Open the source file and read the content
'into a bytearray
Filenr = FreeFile()
Open SourceFile For Binary As #Filenr
ByteArray = InputB(LOF(1), #1)
Close #Filenr

Erase ByteArray

我读了一个三兆多的文件,读了十几次,也没问题啊~~
of123 2003-11-05
  • 打赏
  • 举报
回复
cuizm(射天狼) :
试了,依然如故。还有其他办法吗?

7,763

社区成员

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

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