Читать двоичный файл в массив - PullRequest
7 голосов
/ 16 марта 2010

Какой самый быстрый способ (с использованием VB6) прочитать весь большой двоичный файл в массив?

Ответы [ 2 ]

8 голосов
/ 16 марта 2010

Вот один из способов, хотя вы ограничены файлами размером около 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
5 голосов
/ 19 марта 2010

Вы можете сравнить эти два

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 не существует, For Binary режим создает пустой файл независимо от того, используется ли Access Read.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...