以前上传音乐下载文件等使用的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的其他功能。