最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實(shí)現(xiàn)自定義FTP操作封裝類實(shí)例

 更新時(shí)間:2015年03月26日 09:26:46   作者:lele  
這篇文章主要介紹了C#實(shí)現(xiàn)自定義FTP操作封裝類,涉及C#操作FTP的連接、傳輸、下載等操作的實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C#實(shí)現(xiàn)自定義FTP操作封裝類。分享給大家供大家參考。具體如下:

這個(gè)C#類封裝了FTP的常用操作,包括連接ftp服務(wù)器、列表服務(wù)器上的目錄和文件,從ftp下載文件,上傳文件到ftp服務(wù)器等等

using System;
using System.Text;
using System.IO;
namespace DotNet.Utilities
{
  public class FTPOperater
  {
    #region 屬性
    private FTPClient ftp;
    /// <summary>
    /// 全局FTP訪問變量
    /// </summary>
    public FTPClient Ftp
    {
      get { return ftp; }
      set { ftp = value; }
    }
    private string _server;
    /// <summary>
    /// Ftp服務(wù)器
    /// </summary>
    public string Server
    {
      get { return _server; }
      set { _server = value; }
    }
    private string _User;
    /// <summary>
    /// Ftp用戶
    /// </summary>
    public string User
    {
      get { return _User; }
      set { _User = value; }
    }
    private string _Pass;
    /// <summary>
    /// Ftp密碼
    /// </summary>
    public string Pass
    {
      get { return _Pass; }
      set { _Pass = value; }
    }
    private string _FolderZJ;
    /// <summary>
    /// Ftp密碼
    /// </summary>
    public string FolderZJ
    {
      get { return _FolderZJ; }
      set { _FolderZJ = value; }
    }
    private string _FolderWX;
    /// <summary>
    /// Ftp密碼
    /// </summary>
    public string FolderWX
    {
      get { return _FolderWX; }
      set { _FolderWX = value; }
    }
    #endregion
    /// <summary>
    /// 得到文件列表
    /// </summary>
    /// <returns></returns>
    public string[] GetList(string strPath)
    {
      if (ftp == null) ftp = this.getFtpClient();
      ftp.Connect();
      ftp.ChDir(strPath);
      return ftp.Dir("*");
    }
    /// <summary>
    /// 下載文件
    /// </summary>
    /// <param name="ftpFolder">ftp目錄</param>
    /// <param name="ftpFileName">ftp文件名</param>
    /// <param name="localFolder">本地目錄</param>
    /// <param name="localFileName">本地文件名</param>
    public bool GetFile(string ftpFolder, string ftpFileName, string localFolder, string localFileName)
    {
      try
      {
        if (ftp == null) ftp = this.getFtpClient();
        if (!ftp.Connected)
        {
          ftp.Connect();
          ftp.ChDir(ftpFolder);
        }
        ftp.Get(ftpFileName, localFolder, localFileName);
        return true;
      }
      catch
      {
        try
        {
          ftp.DisConnect();
          ftp = null;
        }
        catch { ftp = null; }
        return false;
      }
    }
    /// <summary>
    /// 修改文件
    /// </summary>
    /// <param name="ftpFolder">本地目錄</param>
    /// <param name="ftpFileName">本地文件名temp</param>
    /// <param name="localFolder">本地目錄</param>
    /// <param name="localFileName">本地文件名</param>
    public bool AddMSCFile(string ftpFolder, string ftpFileName, string localFolder, string localFileName, string BscInfo)
    {
      string sLine = "";
      string sResult = "";
      string path = "獲得應(yīng)用程序所在的完整的路徑";
      path = path.Substring(0, path.LastIndexOf("\\"));
      try
      {
        FileStream fsFile = new FileStream(ftpFolder + "\\" + ftpFileName, FileMode.Open);
        FileStream fsFileWrite = new FileStream(localFolder + "\\" + localFileName, FileMode.Create);
        StreamReader sr = new StreamReader(fsFile);
        StreamWriter sw = new StreamWriter(fsFileWrite);
        sr.BaseStream.Seek(0, SeekOrigin.Begin);
        while (sr.Peek() > -1)
        {
          sLine = sr.ReadToEnd();
        }
        string[] arStr = sLine.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries);
        for (int i = 0; i < arStr.Length - 1; i++)
        {
          sResult += BscInfo + "," + arStr[i].Trim() + "\n";
        }
        sr.Close();
        byte[] connect = new UTF8Encoding(true).GetBytes(sResult);
        fsFileWrite.Write(connect, 0, connect.Length);
        fsFileWrite.Flush();
        sw.Close();
        fsFile.Close();
        fsFileWrite.Close();
        return true;
      }
      catch (Exception e)
      {
        return false;
      }
    }
    /// <summary>
    /// 刪除文件
    /// </summary>
    /// <param name="ftpFolder">ftp目錄</param>
    /// <param name="ftpFileName">ftp文件名</param>
    public bool DelFile(string ftpFolder, string ftpFileName)
    {
      try
      {
        if (ftp == null) ftp = this.getFtpClient();
        if (!ftp.Connected)
        {
          ftp.Connect();
          ftp.ChDir(ftpFolder);
        }
        ftp.Delete(ftpFileName);
        return true;
      }
      catch
      {
        return false;
      }
    }
    /// <summary>
    /// 上傳文件
    /// </summary>
    /// <param name="ftpFolder">ftp目錄</param>
    /// <param name="ftpFileName">ftp文件名</param>
    public bool PutFile(string ftpFolder, string ftpFileName)
    {
      try
      {
        if (ftp == null) ftp = this.getFtpClient();
        if (!ftp.Connected)
        {
          ftp.Connect();
          ftp.ChDir(ftpFolder);
        }
        ftp.Put(ftpFileName);
        return true;
      }
      catch
      {
        return false;
      }
    }
    /// <summary>
    /// 下載文件
    /// </summary>
    /// <param name="ftpFolder">ftp目錄</param>
    /// <param name="ftpFileName">ftp文件名</param>
    /// <param name="localFolder">本地目錄</param>
    /// <param name="localFileName">本地文件名</param>
    public bool GetFileNoBinary(string ftpFolder, string ftpFileName, string localFolder, string localFileName)
    {
      try
      {
        if (ftp == null) ftp = this.getFtpClient();
        if (!ftp.Connected)
        {
          ftp.Connect();
          ftp.ChDir(ftpFolder);
        }
        ftp.GetNoBinary(ftpFileName, localFolder, localFileName);
        return true;
      }
      catch
      {
        try
        {
          ftp.DisConnect();
          ftp = null;
        }
        catch
        {
          ftp = null;
        }
        return false;
      }
    }
    /// <summary>
    /// 得到FTP上文件信息
    /// </summary>
    /// <param name="ftpFolder">FTP目錄</param>
    /// <param name="ftpFileName">ftp文件名</param>
    public string GetFileInfo(string ftpFolder, string ftpFileName)
    {
      string strResult = "";
      try
      {
        if (ftp == null) ftp = this.getFtpClient();
        if (ftp.Connected) ftp.DisConnect();
        ftp.Connect();
        ftp.ChDir(ftpFolder);
        strResult = ftp.GetFileInfo(ftpFileName);
        return strResult;
      }
      catch
      {
        return "";
      }
    }
    /// <summary>
    /// 測(cè)試FTP服務(wù)器是否可登陸
    /// </summary>
    public bool CanConnect()
    {
      if (ftp == null) ftp = this.getFtpClient();
      try
      {
        ftp.Connect();
        ftp.DisConnect();
        return true;
      }
      catch
      {
        return false;
      }
    }
    /// <summary>
    /// 得到FTP上文件信息
    /// </summary>
    /// <param name="ftpFolder">FTP目錄</param>
    /// <param name="ftpFileName">ftp文件名</param>
    public string GetFileInfoConnected(string ftpFolder, string ftpFileName)
    {
      string strResult = "";
      try
      {
        if (ftp == null) ftp = this.getFtpClient();
        if (!ftp.Connected)
        {
          ftp.Connect();
          ftp.ChDir(ftpFolder);
        }
        strResult = ftp.GetFileInfo(ftpFileName);
        return strResult;
      }
      catch
      {
        return "";
      }
    }
    /// <summary>
    /// 得到文件列表
    /// </summary>
    /// <param name="ftpFolder">FTP目錄</param>
    /// <returns>FTP通配符號(hào)</returns>
    public string[] GetFileList(string ftpFolder, string strMask)
    {
      string[] strResult;
      try
      {
        if (ftp == null) ftp = this.getFtpClient();
        if (!ftp.Connected)
        {
          ftp.Connect();
          ftp.ChDir(ftpFolder);
        }
        strResult = ftp.Dir(strMask);
        return strResult;
      }
      catch
      {
        return null;
      }
    }
    /// <summary>
    ///得到FTP傳輸對(duì)象
    /// </summary>
    public FTPClient getFtpClient()
    {
      FTPClient ft = new FTPClient();
      ft.RemoteHost = this.Server;
      ft.RemoteUser = this.User;
      ft.RemotePass = this.Pass;
      return ft;
    }
  }
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C#中環(huán)境變量示例詳解

    C#中環(huán)境變量示例詳解

    環(huán)境變量是操作系統(tǒng)中存儲(chǔ)的一種機(jī)制,用于保存與操作系統(tǒng)環(huán)境和應(yīng)用程序運(yùn)行相關(guān)的配置信息,在 C# 中,可以使用 Environment.GetEnvironmentVariable 方法來獲取特定環(huán)境變量的值,下面給大家介紹C#中環(huán)境變量示例代碼,一起看看吧
    2024-05-05
  • C# 讀取ttf字體文件里的Unicode實(shí)現(xiàn)

    C# 讀取ttf字體文件里的Unicode實(shí)現(xiàn)

    這篇文章主要介紹了C# 讀取 ttf字體文件里的 Unicode實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • C#小數(shù)點(diǎn)格式化用法小結(jié)

    C#小數(shù)點(diǎn)格式化用法小結(jié)

    這篇文章主要介紹了C#小數(shù)點(diǎn)格式化用法,結(jié)合實(shí)例形式分析了C#小數(shù)點(diǎn)格式化運(yùn)算的常用函數(shù)與相關(guān)使用技巧,需要的朋友可以參考下
    2016-08-08
  • 解析C#中@符號(hào)的幾種使用方法詳解

    解析C#中@符號(hào)的幾種使用方法詳解

    本篇文章是對(duì)C#中@符號(hào)的幾種使用方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C#數(shù)據(jù)結(jié)構(gòu)與算法揭秘四 雙向鏈表

    C#數(shù)據(jù)結(jié)構(gòu)與算法揭秘四 雙向鏈表

    上節(jié)說過這節(jié)會(huì)講雙向鏈表,環(huán)形鏈表和應(yīng)用舉例,我們開始吧!?。?!
    2012-11-11
  • 深入解析C#編程中泛型委托的使用

    深入解析C#編程中泛型委托的使用

    這篇文章主要介紹了C#編程中泛型委托的使用,引用泛型委托的代碼可以指定類型參數(shù)以創(chuàng)建已關(guān)閉的構(gòu)造類型,需要的朋友可以參考下
    2016-02-02
  • C#中的虛方法和抽象方法的運(yùn)用

    C#中的虛方法和抽象方法的運(yùn)用

    這篇文章主要介紹了C#中的虛方法和抽象方法的運(yùn)用,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • c# mutex互斥量的深入解析

    c# mutex互斥量的深入解析

    本篇文章主要是對(duì)c#中的mutex互斥量進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2014-01-01
  • C#實(shí)現(xiàn)字符串與圖片的Base64編碼轉(zhuǎn)換操作示例

    C#實(shí)現(xiàn)字符串與圖片的Base64編碼轉(zhuǎn)換操作示例

    這篇文章主要介紹了C#實(shí)現(xiàn)字符串與圖片的Base64編碼轉(zhuǎn)換操作,結(jié)合實(shí)例形式分析了C#針對(duì)base64編碼與圖片的相互轉(zhuǎn)換操作技巧,需要的朋友可以參考下
    2017-06-06
  • C#復(fù)雜XML反序列化為實(shí)體對(duì)象兩種方式小結(jié)

    C#復(fù)雜XML反序列化為實(shí)體對(duì)象兩種方式小結(jié)

    本文主要介紹了C#復(fù)雜XML反序列化為實(shí)體對(duì)象兩種方式,主要介紹如何把通過接口獲取到的Xml數(shù)據(jù)轉(zhuǎn)換成(反序列化)我們想要的實(shí)體對(duì)象,感興趣的可以一起來了解一下
    2022-04-04

最新評(píng)論

仪征市| 峡江县| 宜阳县| 通城县| 化德县| 宜黄县| 澄迈县| 普洱| 秀山| 根河市| 内乡县| 天等县| 贺州市| 仙桃市| 巴马| 博乐市| 仙居县| 牙克石市| 雷山县| 云安县| 尤溪县| 德令哈市| 汕尾市| 文安县| 亚东县| 旌德县| 台南县| 中牟县| 贺兰县| 拜城县| 新乐市| 泰兴市| 龙胜| 会理县| 都兰县| 大方县| 昌吉市| 巴中市| 康乐县| 海丰县| 阜宁县|