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

バイト単位の読み込み

環境/言語:[winXP,VB2008]
分類:[.NET]

ファイルをバイト単位で1KBづつ読み込み、読み込んだものから
別ファイルにバイト単位で書き込みたいと思っています。
ある一定量づつ読み込むにはどうしたらいいのでしょうか?

'読み込むファイルの名前
Dim fileName As String = "C:\test.txt"
'ファイルを開く
Dim fs As New System.IO.FileStream(fileName, _
System.IO.FileMode.Open, _
System.IO.FileAccess.Read)
'ファイルを読み込むバイト型配列を作成する
Dim bs(fs.Length - 1) As Byte
'ファイルの内容をすべて読み込む
fs.Read(bs, 0, bs.Length)
'閉じる
fs.Close()

とするとすべてが読み込まれてしまうので、ループで
一定量づつ読み出す方法を教えていただけないでしょうか?
よろしくおねがいします。
■No24487に返信(ららさんの記事)
> ファイルをバイト単位で1KBづつ読み込み、
「1024 bytes」ずつ読みだしていきたい、という事でしょうか。

> ある一定量づつ読み込むにはどうしたらいいのでしょうか?

'Imports System.IO
Const BlockSize As Integer = 1024
Using inFile As New BinaryReader(New FileStream(fileName, FileMode.Open, FileAccess.Read)), _
 outFile As New BinaryWriter(New FileStream(fileName & ".out", FileMode.Create, FileAccess.Write))
  Dim block() As Byte = inFile.ReadBytes(BlockSize)
  Do Until block.Length = 0
    outFile.Write(block)
    'outFile.Flush()
    block = inFile.ReadBytes(BlockSize)
  Loop
  inFile.Close()
  outFile.Close()
End Using
魔界の仮面弁士さん回答ありがとうございます。
上記のコードを試してみたところ、
思い通りの動作となりました。
大変ありがとうございました。
解決済み!

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