Каков самый быстрый путь (использующий VB6) для чтения всего, большого, двоичного файла в массив?
Вот один способ, хотя вы ограничены файлами размером около 2 ГБ по размеру.
Dim fileNum As Integer
Dim bytes() As Byte
fileNum = FreeFile
Open "C:\test.bin" For Binary As fileNum
ReDim bytes(LOF(fileNum) - 1)
Get fileNum, , bytes
Close fileNum
Вы можете сравнить эти два
Private Function ReadFile1(sFile As String) As Byte()
Dim nFile As Integer
nFile = FreeFile
Open sFile For Input Access Read As #nFile
If LOF(nFile) > 0 Then
ReadFile1 = InputB(LOF(nFile), nFile)
End If
Close #nFile
End Function
Private Function ReadFile2(sFile As String) As Byte()
Dim nFile As Integer
nFile = FreeFile
Open sFile For Binary Access Read As #nFile
If LOF(nFile) > 0 Then
ReDim ReadFile2(0 To LOF(nFile) - 1)
Get nFile, , ReadFile2
End If
Close #nFile
End Function
Я предпочитаю второй, но он имеет неприятный побочный эффект. Если sFile
не существует, Для двоичного режима
создает пустой файл независимо от того, что используется Доступ для чтения
.