C#链接FTP的例子
                        
                            发布日期:2010-05-13    
                            点击:2978    
                            字体:[
大 中
                            小]
                        
 
                        
                        
                        
                            using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.IO;
using System.Text;
public partial class _Default : System.Web.UI.Page
{
  string ftpServerIP = "";
  string ftpUserID = "";
  string ftpPassword = "";
  protected void Page_Load(object sender, EventArgs e)
  {
  }
  private void Download(string filePath, string fileName)
  {
  FtpWebRequest reqFTP;
  try
  {
  FileStream outputStream = new FileStream(filePath + "\\" + fileName, FileMode.Create);
  reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + fileName));
  reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
  reqFTP.UseBinary = true;
  reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
  FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
  Stream ftpStream = response.GetResponseStream();
  long cl = response.ContentLength;
  int bufferSize = 2048;
  int readCount;
  byte[] buffer = new byte[bufferSize];
  readCount = ftpStream.Read(buffer, 0, bufferSize);
  while (readCount > 0)
  {
  outputStream.Write(buffer, 0, readCount);
  readCount = ftpStream.Read(buffer, 0, bufferSize);
  }
  ftpStream.Close();
  outputStream.Close();
  response.Close();
  }
  catch (Exception ex)
  {
  Response.Write(ex.Message);
  }
  }
  public string[] GetFileList()
  {
  string[] downloadFiles = new string[100];
  StringBuilder result = new StringBuilder();
  FtpWebRequest reqFTP;
  try
  {
  reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP ));
  reqFTP.UseBinary = true;
  reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
  reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
  WebResponse response = reqFTP.GetResponse();
  StreamReader reader = new StreamReader(response.GetResponseStream(),Encoding.Default);
  string line = reader.ReadLine();
  while (line != null)
  {
  result.Append(line);
  result.Append("\n");
  line = reader.ReadLine();
  }   
  result.Remove(result.ToString().LastIndexOf('\n'), 1);
  reader.Close();
  response.Close();
  return result.ToString().Split('\n');
  }
  catch (Exception ex)
  {
  Response.Write(ex.Message);
  downloadFiles = null;
  return downloadFiles;
  }
  }
}