シチュエーション別同一目的 -- Part2


  C# 版



  
csc.exe lang_04.cs
  
↑ビルド

  
using System;
using System.IO;
using System.Net;

// ********************************************************
// * 実行
// ********************************************************
public class App
{

	public static void Main() {

		String strTarget = "ftp://bekins.borland.com";
		strTarget += "/groups/jp/cppbuild/";
		String strFile = "freecommandlinetools2.exe";
		strTarget += strFile;

		// FTP 用インスタンス作成
		FtpWebRequest request = 
			(FtpWebRequest)WebRequest.Create(strTarget);
		// Passive モード
		request.UsePassive = true;
		// バイナリ処理
		request.UseBinary = true;
		// ダウンロードコマンドをセット
		request.Method = WebRequestMethods.Ftp.DownloadFile;;

		// 接続用オブジェクトを FTP 用インスタンスにセット
		request.Credentials = new NetworkCredential ("anonymous","user@domain");

		// コマンド実行
		FtpWebResponse response = (FtpWebResponse)request.GetResponse();

		// レスポンスより、ストリームを取得
		Stream responseStream = response.GetResponseStream();
		// バイナリストリームリーダーのインスタンス作成
		BinaryReader reader = new BinaryReader(responseStream);

		// ファイルストリーム作成
		FileStream fs = new FileStream( strFile, FileMode.Create );
		// ライタ作成
		BinaryWriter w = new BinaryWriter(fs);

		Boolean loop = true;
		byte data = 0;
		int nCount = 0;
		while( loop ) {
			try {
				data = reader.ReadByte();
				w.Write( data );
				nCount++;
				if ( nCount % 100000 == 0 ) {
					Console.Write( "*" );
				}
			}
			catch(EndOfStreamException e) {
				loop = false;
			}
		}

		// ファイルクローズ
		w.Close();
		fs.Close();

		// リーダーを閉じる
		reader.Close();

		// 要求を閉じる
		response.Close();
	}
}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ