大多数情况下,当我们将文件流读入字节数组时,我们会编写以下代码: -
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数据类型声明一个字节数组(选项严格打开)。这是一个好习惯吗?这个问题的解决方法是什么?
答案 0 :(得分:2)
好的做法是使用File.ReadAllBytes
代替整个事情:
Dim input = File.ReadAllBytes(filePath)
顺便说一句,如果你的文件那么大(超过4 GB),你就不希望在字节数组中一次性加载它,因为它需要增加4GB内存(在32位管理进程中,即使你有更多的内存,你根本也无法拥有它)。