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
{
// 最后关闭文件,无视 关闭是否会发生错误了.
}
}
}
}