掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ファイルをバイナリで読み込むには?? (ID:116427)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
コードの一例として、具体的なサンプルを書いてみますね。 # 本当は、もう少し早くサンプルを書きたかったのですが、モバイル端末に # .NETを入れてなかったので、今まで具体例を書けませんでした…。 ## 先ほど、1週間の出張から帰って来れたので、ようやくサンプルが書けます。(^_^;) > bi() = opFile.Read()←バイト型配列に読み込ませる方法がよくわからないんです>< バイト配列に読み込ませるには、幾つかの方法がありますが、 たとえば、以下のような書き方をする事ができます。(エラー処理は省略しています) ==================== 'この変数に、ファイルのバイナリを格納します。 Dim Buffer() As Byte '読み取るファイル名の指定です。ここでは直接指定していますが、 'OpenFileDialog を使って指定させても、もちろん OK です。 Dim FilePath As String = "C:\TEST.TXT" 'ファイルの読み込みを行う部分です。 '第2引数以降は、必要に応じて変更してみて下さい。 Dim DataFile As New System.IO.FileStream(FilePath, IO.FileMode.Open) 'データファイルのサイズを調べています。 Dim FileSize As Integer = CInt(DataFile.Length) If FileSize = 0 Then '空のファイルであれば、データを読み込む必要も無いので、 'ファイルは読まず、テキストボックスを空にしています。 Me.TextBox1.Clear() Else 'データがあった場合、データサイズに合わせて配列サイズを決定します。 '今回は、データ量と同サイズの配列を用意しています。 ReDim Buffer(FileSize - 1) '用意した配列にデータを読み込みます。 '下記では、「Buffer(0)〜Buffer(FileSize-1)」に対して読み込ませています。 DataFile.Read(Buffer, 0, FileSize) '★★ '受け取った配列を、BitConverterクラスを利用して、 'TextBoxに表示させます。 Me.TextBox1.Text = System.BitConverter.ToString(Buffer) End If '開いたファイルは、最後に必ず閉じる必要があります。 DataFile.Close() ==================== なお、上記の手法だと、一度に全データを読み込ませているため、大きなファイルの場合は、 負荷が大きくなってしまいます。もし、大きめなファイルを読み込ませる必要があるならば、 一度に全部を読み込むのではなく、最初は先頭部分(たとえば、先頭16KB分)のデータだけを 読み込ませるようにしておき、必要に応じて、次の部分(〜32KBまでの部分)のデータを 読み込むようにすれば、対処できるかと思います。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.