質問

ほとんどの場合、ファイルストリームをバイト配列に読み取り、次のコードを記述します。-

 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

ただし、ここでは、longデータ型を使用してバイト配列を宣言できないため(オプションstrict on)、Lengthを整数型に変換する必要があります(上記のコードの2行目)。これは良い習慣ですか?この問題の回避策は何ですか?

役に立ちましたか?

解決

を使用することをお勧めします全部ではなく、 File.ReadAllBytes

Dim input = File.ReadAllBytes(filePath)

ところで、ファイルがその大きさ(4 GB以上)になる場合、バイト配列に一度にすべてをロードするのは望ましくありません最大4GBのRAM(32ビットの管理プロセスでは、RAMを増やしてもまったく使用できません)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top