DOBON.NET DOBON.NETプログラミング掲示板過去ログ

VB.NETでのバイナリファイルの扱い

環境/言語:[WindowsXP SP3, VB 2008 Express]
分類:[.NET]

初めて投稿します。
chara型とint型のデータが入っているファイルをVB.NETで取得して、それぞれのデータを取り出したいのですが、どうやれば良いのかわからなかったのでご質問させていただきます。

例えばテキスト(char型)50Byte、数値(int型)20Byte、テキスト(char型)30Byteの計100Byteのファイルがあったとして、これをそれぞれの型ごとに3つ区切って取得しようとしています。
[ File.ReadAllBytes ]で100Byteを丸ごと取得してくるまではできているんですが、これをMid関数のように50Byte、20Byte、30Byteに区切る方法がわかりません。

完全なテキストファイルだったらMid関数やSubstringで切り取れますが、20Byteはint型なので文字列操作の処理では正常に取得できませんでした。
良い方法がありましたらお教えいただけますよう宜しくお願い致します。
ファイルをバイト型配列に読み込む、バイト型配列をファイルに書き込む
http://dobon.net/vb/dotnet/file/filestream.html

で紹介しているように、FileStream.Readメソッドを使えば、数バイトずつ読み込むことができます。

もし全て読み込んでしまっていたならば、Array.Copyメソッドを使って、指定した部分を別の配列にコピーすることができます。
> もし全て読み込んでしまっていたならば、Array.Copyメソッドを使って、指定した部分を別の配列にコピーすることができます。

お返事が遅くなって申し訳ありませんでした。
お教えいただいた通り、取得した値からArray.Copyで目的のデータを抽出することができました。

どうもうありがとうございます!
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板