Создание байтового массива с использованием длинного типа данных? - PullRequest
0 голосов
/ 04 мая 2009

Большую часть времени, когда мы читаем поток файлов в байтовый массив, мы пишем следующий код: -

 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

Но здесь мы должны преобразовать Length в целочисленный тип (строка 2 приведенного выше кода), поскольку мы не можем объявить байтовый массив, используя тип данных long (со строгой опцией). Это хорошая практика? Как обойти эту проблему?

1 Ответ

2 голосов
/ 04 мая 2009

Хорошей практикой является использование File.ReadAllBytes вместо всего этого:

Dim input = File.ReadAllBytes(filePath)

Кстати, если ваш файл будет такого большого размера (более 4 ГБ), вы не захотите загружать все сразу в байтовый массив, поскольку он займет 4 ГБ ОЗУ (а в 32-разрядном управляемом процессе его вообще не может быть, даже если у вас больше ОЗУ).

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