using (WebResponse res = req.GetResponse()) {
using (Stream st = res.GetResponseStream()) {
data = ReadBinaryData(st);
}
File.WriteAllBytes("test.gif", data);
}
}
}
// コンパイル方法:csc binaryread.cs
' binaryread.vb
Imports System.IO
Imports System.Net
Class Program
' ストリームからデータを読み込み、バイト配列に格納
Shared Public Function ReadBinaryData(ByVal st As Stream) As Byte()
Dim buf(32768) As Byte ' 一時バッファ
Using ms As New MemoryStream()
While (True)
' ストリームから一時バッファに読み込む
Dim read As Integer = st.Read(buf, 0, buf.Length)
If read > 0 Then
' 一時バッファの内容をメモリ・ストリームに書き込む
ms.Write(buf, 0, read)
Else
Exit While
End If
End While
' メモリ・ストリームの内容をバイト配列に格納
Return ms.ToArray()
End Using
End Function
Shared Sub Main()
Dim url As String _
= "http://www.atmarkit.co.jp/fdotnet/images/fdotnet_m.gif"
Dim data As Byte()
Dim req As WebRequest = WebRequest.Create(url)
Using res As WebResponse = req.GetResponse()
Using st As Stream = res.GetResponseStream()
data = ReadBinaryData(st)
End Using
End Using