亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#操作ftp類完整實例

2020-01-24 01:29:14
字體:
來源:轉載
供稿:網友

本文實例講述了C#操作ftp類。分享給大家供大家參考。具體如下:

using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Net;using System.Globalization;namespace FtpTest1{ public class FtpWeb { string ftpServerIP; string ftpRemotePath; string ftpUserID; string ftpPassword; string ftpURI; /// <summary> /// 連接FTP /// </summary> /// <param name="FtpServerIP">FTP連接地址</param> /// <param name="FtpRemotePath">指定FTP連接成功后的當前目錄, 如果不指定即默認為根目錄</param> /// <param name="FtpUserID">用戶名</param> /// <param name="FtpPassword">密碼</param> public FtpWeb(string FtpServerIP, string FtpRemotePath, string FtpUserID, string FtpPassword) {  ftpServerIP = FtpServerIP;  ftpRemotePath = FtpRemotePath;  ftpUserID = FtpUserID;  ftpPassword = FtpPassword;  ftpURI = "ftp://" + ftpServerIP + "/" ; } static void Main() {  //string file = "c://aq3.gifa";  //FileInfo fileInf = new FileInfo(file);  //if (!fileInf.Exists)  //{  // Console.WriteLine(file + " no exists");  //}  //else {  // Console.WriteLine("yes");  //}  //Console.ReadLine();  FtpWeb fw = new FtpWeb("121.11.65.10", "", "aa1", "aa");  string[] filePaths = { "c://aq3.gif1", "c://aq2.gif1", "c://bsmain_runtime.log" };  Console.WriteLine(fw.UploadFile(filePaths));  Console.ReadLine(); } //上傳文件 public string UploadFile( string[] filePaths ) {  StringBuilder sb = new StringBuilder();  if ( filePaths != null && filePaths.Length > 0 ){  foreach( var file in filePaths ){   sb.Append(Upload( file ));  }  }  return sb.ToString(); }  /// <summary> /// 上傳文件 /// </summary> /// <param name="filename"></param> private string Upload(string filename) {  FileInfo fileInf = new FileInfo(filename);  if ( !fileInf.Exists ){  return filename + " 不存在!/n";  }  string uri = ftpURI + fileInf.Name;  FtpWebRequest reqFTP;  reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));  reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);  reqFTP.KeepAlive = false;  reqFTP.Method = WebRequestMethods.Ftp.UploadFile;  reqFTP.UseBinary = true;  reqFTP.UsePassive = false; //選擇主動還是被動模式  //Entering Passive Mode  reqFTP.ContentLength = fileInf.Length;  int buffLength = 2048;  byte[] buff = new byte[buffLength];  int contentLen;  FileStream fs = fileInf.OpenRead();  try  {  Stream strm = reqFTP.GetRequestStream();  contentLen = fs.Read(buff, 0, buffLength);  while (contentLen != 0)  {   strm.Write(buff, 0, contentLen);   contentLen = fs.Read(buff, 0, buffLength);  }  strm.Close();  fs.Close();  }  catch (Exception ex)  {  return "同步 "+filename+"時連接不上服務器!/n";  //Insert_Standard_ErrorLog.Insert("FtpWeb", "Upload Error --> " + ex.Message);  }  return ""; } /// <summary> /// 下載 /// </summary> /// <param name="filePath"></param> /// <param name="fileName"></param> public void Download(string filePath, string fileName) {  FtpWebRequest reqFTP;  try  {  FileStream outputStream = new FileStream(filePath + "http://" + fileName, FileMode.Create);  reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpURI + 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)  {  Insert_Standard_ErrorLog.Insert("FtpWeb", "Download Error --> " + ex.Message);  } } /// <summary> /// 刪除文件 /// </summary> /// <param name="fileName"></param> public void Delete(string fileName) {  try  {  string uri = ftpURI + fileName;  FtpWebRequest reqFTP;  reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));  reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);  reqFTP.KeepAlive = false;  reqFTP.Method = WebRequestMethods.Ftp.DeleteFile;  string result = String.Empty;  FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();  long size = response.ContentLength;  Stream datastream = response.GetResponseStream();  StreamReader sr = new StreamReader(datastream);  result = sr.ReadToEnd();  sr.Close();  datastream.Close();  response.Close();  }  catch (Exception ex)  {  Insert_Standard_ErrorLog.Insert("FtpWeb", "Delete Error --> " + ex.Message + " 文件名:" + fileName);  } } /// <summary> /// 獲取當前目錄下明細(包含文件和文件夾) /// </summary> /// <returns></returns> public string[] GetFilesDetailList() {  string[] downloadFiles;  try  {  StringBuilder result = new StringBuilder();  FtpWebRequest ftp;  ftp = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpURI));  ftp.Credentials = new NetworkCredential(ftpUserID, ftpPassword);  ftp.Method = WebRequestMethods.Ftp.ListDirectoryDetails;  WebResponse response = ftp.GetResponse();  StreamReader reader = new StreamReader(response.GetResponseStream());  string line = reader.ReadLine();  line = reader.ReadLine();  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)  {  downloadFiles = null;  Insert_Standard_ErrorLog.Insert("FtpWeb", "GetFilesDetailList Error --> " + ex.Message);  return downloadFiles;  } } /// <summary> /// 獲取當前目錄下文件列表(僅文件) /// </summary> /// <returns></returns> public string[] GetFileList(string mask) {  string[] downloadFiles;  StringBuilder result = new StringBuilder();  FtpWebRequest reqFTP;  try  {  reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpURI));  reqFTP.UseBinary = true;  reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);  reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;  WebResponse response = reqFTP.GetResponse();  StreamReader reader = new StreamReader(response.GetResponseStream());  string line = reader.ReadLine();  while (line != null)  {   if (mask.Trim() != string.Empty && mask.Trim() != "*.*")   {   string mask_ = mask.Substring(0, mask.IndexOf("*"));   if (line.Substring(0, mask_.Length) == mask_)   {    result.Append(line);    result.Append("/n");   }   }   else   {   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)  {  downloadFiles = null;  if (ex.Message.Trim() != "遠程服務器返回錯誤: (550) 文件不可用(例如,未找到文件,無法訪問文件)。")  {   Insert_Standard_ErrorLog.Insert("FtpWeb", "GetFileList Error --> " + ex.Message.ToString());  }  return downloadFiles;  } } /// <summary> /// 獲取當前目錄下所有的文件夾列表(僅文件夾) /// </summary> /// <returns></returns> public string[] GetDirectoryList() {  string[] drectory = GetFilesDetailList();  string m = string.Empty;  foreach (string str in drectory)  {  if (str.Trim().Substring(0, 1).ToUpper() == "D")  {   m += str.Substring(54).Trim() + "/n";  }  }  char[] n = new char[] { '/n' };  return m.Split(n); } /// <summary> /// 判斷當前目錄下指定的子目錄是否存在 /// </summary> /// <param name="RemoteDirectoryName">指定的目錄名</param> public bool DirectoryExist(string RemoteDirectoryName) {  string[] dirList = GetDirectoryList();  foreach (string str in dirList)  {  if (str.Trim() == RemoteDirectoryName.Trim())  {   return true;  }  }  return false; } /// <summary> /// 判斷當前目錄下指定的文件是否存在 /// </summary> /// <param name="RemoteFileName">遠程文件名</param> public bool FileExist(string RemoteFileName) {  string[] fileList = GetFileList("*.*");  foreach (string str in fileList)  {  if (str.Trim() == RemoteFileName.Trim())  {   return true;  }  }  return false; } /// <summary> /// 創建文件夾 /// </summary> /// <param name="dirName"></param> public void MakeDir(string dirName) {  FtpWebRequest reqFTP;  try  {  // dirName = name of the directory to create.  reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpURI + dirName));  reqFTP.Method = WebRequestMethods.Ftp.MakeDirectory;  reqFTP.UseBinary = true;  reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);  FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();  Stream ftpStream = response.GetResponseStream();  ftpStream.Close();  response.Close();  }  catch (Exception ex)  {  Insert_Standard_ErrorLog.Insert("FtpWeb", "MakeDir Error --> " + ex.Message);  } } /// <summary> /// 獲取指定文件大小 /// </summary> /// <param name="filename"></param> /// <returns></returns> public long GetFileSize(string filename) {  FtpWebRequest reqFTP;  long fileSize = 0;  try  {  reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpURI + filename));  reqFTP.Method = WebRequestMethods.Ftp.GetFileSize;  reqFTP.UseBinary = true;  reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);  FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();  Stream ftpStream = response.GetResponseStream();  fileSize = response.ContentLength;  ftpStream.Close();  response.Close();  }  catch (Exception ex)  {  Insert_Standard_ErrorLog.Insert("FtpWeb", "GetFileSize Error --> " + ex.Message);  }  return fileSize; } /// <summary> /// 改名 /// </summary> /// <param name="currentFilename"></param> /// <param name="newFilename"></param> public void ReName(string currentFilename, string newFilename) {  FtpWebRequest reqFTP;  try  {  reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpURI + currentFilename));  reqFTP.Method = WebRequestMethods.Ftp.Rename;  reqFTP.RenameTo = newFilename;  reqFTP.UseBinary = true;  reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);  FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();  Stream ftpStream = response.GetResponseStream();  ftpStream.Close();  response.Close();  }  catch (Exception ex)  {  Insert_Standard_ErrorLog.Insert("FtpWeb", "ReName Error --> " + ex.Message);  } } /// <summary> /// 移動文件 /// </summary> /// <param name="currentFilename"></param> /// <param name="newFilename"></param> public void MovieFile(string currentFilename, string newDirectory) {  ReName(currentFilename, newDirectory); }

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色噜噜狠狠狠综合曰曰曰88av| 亚洲国产精品久久| 日韩成人久久久| 国产999在线观看| 亚洲欧美激情在线视频| 欧美乱妇40p| 欧美孕妇毛茸茸xxxx| 一区二区三区高清国产| 欧美日韩另类在线| 奇米影视亚洲狠狠色| 亚洲一区二区自拍| 国产福利精品av综合导导航| 日韩av三级在线观看| 日韩电视剧在线观看免费网站| 亚洲欧美成人一区二区在线电影| 日韩精品中文字幕在线| 最近2019好看的中文字幕免费| 欧美猛男性生活免费| 久久人体大胆视频| 欧美自拍视频在线| 久久精品久久久久久| 欧美激情亚洲另类| 成人久久一区二区三区| 久久影院资源网| 欧美成人午夜视频| 欧美一级淫片videoshd| 亚洲欧美国产日韩天堂区| 国产精品福利无圣光在线一区| 亚洲理论片在线观看| 亚洲美女中文字幕| 欧美激情中文字幕乱码免费| 久久99精品久久久久久琪琪| 国产精品h在线观看| 欧美日韩人人澡狠狠躁视频| 九九热最新视频//这里只有精品| 国产精品成人免费视频| 国产精品亚洲美女av网站| 91精品国产自产在线| 亚洲美女激情视频| 国产精品扒开腿做爽爽爽的视频| 国产精品av免费在线观看| 永久免费看mv网站入口亚洲| 欧美成年人网站| 亚洲精品国产精品国自产在线| 伊人一区二区三区久久精品| 狠狠色狠狠色综合日日小说| 国产精品普通话| www.久久久久久.com| www.日韩系列| 国产女人18毛片水18精品| 欧美亚州一区二区三区| 成人伊人精品色xxxx视频| 久久久精品2019中文字幕神马| 国产精品黄色av| 久久九九国产精品怡红院| 久久视频这里只有精品| 国产精品一区二区女厕厕| 亚洲风情亚aⅴ在线发布| 久久乐国产精品| 亚洲精品影视在线观看| 欧美性生活大片免费观看网址| 亚洲尤物视频网| 亚洲人精选亚洲人成在线| 视频直播国产精品| 国产精品小说在线| 欧美裸身视频免费观看| 亚洲欧美精品一区二区| 久久久久免费视频| 国产亚洲精品久久久久久777| 日韩精品在线观看一区| 国产亚洲欧美日韩精品| 久久色免费在线视频| 国产精品自拍网| 日韩久久精品成人| 欧美精品久久久久久久免费观看| 91老司机精品视频| 亚洲国产精品成人va在线观看| 91av视频在线播放| 亚洲日本成人网| 久久国产精品影视| 欧美韩日一区二区| 欧美日韩激情视频8区| 亚洲精品乱码久久久久久金桔影视| 欧美另类精品xxxx孕妇| 国产www精品| 欧美怡红院视频一区二区三区| 日本老师69xxx| 福利视频一区二区| 91精品啪aⅴ在线观看国产| 欧美一级bbbbb性bbbb喷潮片| 97在线视频精品| 一区二区欧美在线| 亚洲香蕉伊综合在人在线视看| 欧美国产日韩一区二区| 国产日韩欧美夫妻视频在线观看| 欧美一级在线亚洲天堂| 日韩欧美精品中文字幕| 亚洲精品小视频| 成人午夜在线观看| 国产成人精品网站| 不卡av电影院| 欧美精品福利视频| 亚洲视频网站在线观看| 欧美专区在线播放| 亚洲免费福利视频| 亚洲在线一区二区| 色偷偷88888欧美精品久久久| 久久中文字幕在线| 亚洲精品成人免费| 亚洲精品短视频| 欧美性受xxxx白人性爽| 国产精品嫩草影院久久久| 日韩久久精品成人| 精品成人乱色一区二区| 国产成人小视频在线观看| 91精品国产色综合久久不卡98| 亚洲另类欧美自拍| 亚洲电影免费在线观看| 韩国三级日本三级少妇99| 国产精欧美一区二区三区| 久久久黄色av| 欧美高清在线播放| 久久久久久久久久久成人| 国产精品视频久久久| 欧美壮男野外gaytube| 日韩av在线免费观看一区| 日韩在线小视频| 97精品欧美一区二区三区| 国产69精品久久久久久| 国产日韩欧美在线视频观看| 91视频九色网站| 日本韩国在线不卡| 亚洲春色另类小说| 亚洲国产天堂网精品网站| 亚洲第一色中文字幕| 日韩av片电影专区| 欧美在线视频网站| 色偷偷偷综合中文字幕;dd| 国产成人jvid在线播放| 91精品国产网站| 欧美激情性做爰免费视频| 久久精品男人天堂| 久久久久久久999精品视频| 91wwwcom在线观看| 精品国产999| 啊v视频在线一区二区三区| 美日韩精品免费视频| 91免费在线视频| 97精品伊人久久久大香线蕉| 欧美激情亚洲一区| 日韩在线观看网址| 欧美日韩亚洲精品一区二区三区| 欧美性猛交xxxx| 日韩av免费在线看| 亚洲精品成人av| 国产一区二区三区四区福利| 国产99视频在线观看| 亚洲欧美激情在线视频| 81精品国产乱码久久久久久| 亚洲天堂开心观看| 97视频在线观看网址| 亚洲区免费影片| 国产中文欧美精品| 欧美精品成人91久久久久久久|