Erstellen eines Byte-Array den langen Datentyp verwenden?
-
03-07-2019 - |
Frage
Die meiste Zeit, wenn wir die Datei-Stream in einen Byte-Array gelesen, würden wir den folgenden Code schreiben: -
Dim inputStream As New System.IO.FileStream(filePath, IO.FileMode.Open)
Dim fileLength As Integer= CType(inputStream.Length, Integer)
Dim input(fileLength) As Byte
Using inputStream
inputStream.Read(input, 0, fileLength)
End Using
Aber hier haben wir Länge in einen Integer-Typen (Linie 2 des Codes oben) konvertieren, da wir nicht einen Byte-Array mit dem langen Datentyp (mit Option streng auf) erklären können. Ist das eine gute Praxis? Wie ist die Arbeit um für dieses Problem?
Lösung
Die gute Praxis ist die Verwendung File.ReadAllBytes
statt der ganzen Sache:
Dim input = File.ReadAllBytes(filePath)
By the way, wenn Sie Ihre Datei sein wird, , dass große (mehr als 4 GB), würden Sie nicht wollen, dass es alle auf einmal in einem Byte-Array zu laden, wie es dauern würde bis 4GB RAM (und in einem 32-Bit-gesteuerter Prozess, können Sie es überhaupt nicht, auch wenn Sie mehr RAM bekommen haben).