VB2005でWindowsCE搭載(compact framework2.0)のハンディターミナル用アプリを開発しています。
固定長文字列のテキストファイルより一部のデータを読み込みしたいのですがどうもうまくいきません。初めての開発しで混乱中です。どなたかご教授願います。
0123456789
9876543210
abcdefghij
たとえば上記のようなテキストファイルより2行目の3文字目から5文字を読み込みたい 期待する値→"76543"
Dim fs As System.IO.FileStream
Dim sr As System.IO.StreamReader
Dim buf(4) As Char
fs = New FileStream("ファイルのパス", FileMode.Open, FileAccess.ReadWrite)
sr = New StreamReader(fs)
sr.ReadLine()
fs.Seek(2, SeekOrigin.Begin)
sr.ReadBlock(buf, 0, buf.Length)
取得した結果→"98765"になっています。
ReadBlockのヘルプを見ても当然そうなるでしょうね。
Dim buf(10) As Char
としておいて、力技で
CStr(buf).Substring(2, 5)か
Convert.ToString(buf).Substring(2, 5)
などとしたらいかがですか。
調べるのは大変でしたがなんとか解決しました。
いろいろとアドバイスありがとうございました。
ツイート | ![]() |