Считайте двоичный файл в массив

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

7
задан Deanna 3 May 2012 в 13:47
поделиться

2 ответа

Вот один способ, хотя вы ограничены файлами размером около 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
8
ответ дан 6 December 2019 в 19:35
поделиться

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

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

5
ответ дан 6 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: