以前上传音乐下载文件等使用的FTP都是到SourceForge上去找的,现在好了,VS2005对WebRequest进行了扩展,除了以前使用的Http类以外还多了FtpWebRequest。现在我们就可以不用第三方的FTP类库了。
FtpWebRequest实现下载文件的方法如下:
Stream stream = null;
StreamReader reader = null;
try
{
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(ftp://202.115.22.138/test.txt);
ftpRequest.Credentials = new NetworkCredential("sa", "studyzy");
ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
stream = ftpResponse.GetResponseStream();
reader = new StreamReader(stream, Encoding.Default);
string txt = reader.ReadToEnd();
return txt;
}
catch
{
return "读取FTP文件失败";
}
finally
{
if (reader != null) { reader.Close(); }
if (stream != null) { stream.Close(); }
}
以上代码只是将FTP中的文本文件读取到内存中,要保存到硬盘只需要使用StreamWriter 。同样的方法可以实现FTP的其他功能。