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?

War es hilfreich?

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).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top