|
Imports System.IO
Imports System.Net
Module MyModule
' ********************************************************
' * 実行
' ********************************************************
Sub Main()
Dim strTarget As String = "ftp://bekins.borland.com"
strTarget &= "/groups/jp/cppbuild/"
Dim strFile As String = "freecommandlinetools2.exe"
strTarget &= strFile
' FTP 用インスタンス作成
Dim request As FtpWebRequest = WebRequest.Create(strTarget)
' Passive モード
request.UsePassive = True
' バイナリ処理
request.UseBinary = True
' ダウンロードコマンドをセット
request.Method = WebRequestMethods.Ftp.DownloadFile
' 接続用オブジェクトを FTP 用インスタンスにセット
request.Credentials = new NetworkCredential ("anonymous","user@domain")
' コマンド実行
Dim response As FtpWebResponse = request.GetResponse()
' レスポンスより、ストリームを取得
Dim responseStream As Stream = response.GetResponseStream()
' バイナリストリームリーダーのインスタンス作成
Dim reader As BinaryReader = new BinaryReader(responseStream)
' ファイルストリーム作成
Dim fs As FileStream = new FileStream( strFile, FileMode.Create )
' ライタ作成
Dim w As BinaryWriter = new BinaryWriter(fs)
Dim loopFlg As Boolean = True
Dim data As byte = 0
Dim nCount As Integer = 0
Do while( loopFlg )
Try
data = reader.ReadByte()
w.Write( data )
nCount += 1
if nCount Mod 100000 = 0 then
Console.Write( "*" )
end if
Catch e As EndOfStreamException
loopFlg = False
End Try
Loop
' ファイルクローズ
w.Close()
fs.Close()
' リーダーを閉じる
reader.Close()
' 要求を閉じる
response.Close()
End Sub
End Module
| |