c#怎么实现下载FTP服务器中的某个文件

public const string FTP_URL = "ftp://服务器地址";

public const string FTP_USER_NAME = "user_name";

public const string FTP_PASSWORD = "pwd";

/// <summary>

/// 下载文件

/// </summary>

public void DownloadFile(string fileName)

{

// 连接对象

WebClient request = new WebClient();

// 用户名/密码.

request.Credentials = new NetworkCredential(FTP_USER_NAME, FTP_PASSWORD);

// 组合全路径名.

string fullFileName = FTP_URL + fileName;

// Windows / FTP 路径切换.

fullFileName = fullFileName.Replace('\\', '/');

// 预期的文件内容.

byte[] newFileData = null;

newFileData = request.DownloadData(fullFileName);

// 写入文件.

WriteBinFile("本地文件名", newFileData);

}

private void WriteBinFile(string fileName, byte[] newFileData)

{

FileStream fs = null;

BinaryWriter bw = null;

try

{

// 首先判断,文件是否已经存在

if (File.Exists(fileName))

{

// 如果文件已经存在,那么删除掉.

File.Delete(fileName);

}

// 注意第2个参数:

// FileMode.Create 指定操作系统应创建新文件。如果文件已存在,它将被覆盖。

fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);

bw = new BinaryWriter(fs);

// 写入数据.

bw.Write(newFileData);

// 关闭文件.

bw.Close();

fs.Close();

bw = null;

fs = null;

}

catch (Exception ex)

{

throw ex;

}

finally

{

if (bw != null)

{

try

{

bw.Close();

}

catch

{

// 最后关闭文件,无视 关闭是否会发生错误了.

}

}

if (fs != null)

{

try

{

fs.Close();

}

catch

{

// 最后关闭文件,无视 关闭是否会发生错误了.

}

}

}

}