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

首頁 > 編程 > C# > 正文

c#操作ftp類分享

2020-01-24 02:48:57
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

class ftp
{
    private string host = null;
    private string user = null;
    private string pass = null;
    private FtpWebRequest ftpRequest = null;
    private FtpWebResponse ftpResponse = null;
    private Stream ftpStream = null;
    private int bufferSize = 2048;

    public ftp(string hostIP, string userName, string password) { host = hostIP; user = userName; pass = password; }

    public void download(string remoteFile, string localFile)
    {
        try
        {
            ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile);
            ftpRequest.Credentials = new NetworkCredential(user, pass);
            ftpRequest.UseBinary = true;
            ftpRequest.UsePassive = true;
            ftpRequest.KeepAlive = true;
            ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
            ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
            ftpStream = ftpResponse.GetResponseStream();
            FileStream localFileStream = new FileStream(localFile, FileMode.Create);
            byte[] byteBuffer = new byte[bufferSize];
            int bytesRead = ftpStream.Read(byteBuffer, 0, bufferSize);
            try
            {
                while (bytesRead > 0)
                {
                    localFileStream.Write(byteBuffer, 0, bytesRead);
                    bytesRead = ftpStream.Read(byteBuffer, 0, bufferSize);
                }
            }
            catch (Exception ex) { Console.WriteLine(ex.ToString()); }
            localFileStream.Close();
            ftpStream.Close();
            ftpResponse.Close();
            ftpRequest = null;
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        return;
    }

    public void upload(string remoteFile, string localFile)
    {
        try
        {
            ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile);
            ftpRequest.Credentials = new NetworkCredential(user, pass);
            ftpRequest.UseBinary = true;
            ftpRequest.UsePassive = true;
            ftpRequest.KeepAlive = true;
            ftpRequest.Method = WebRequestMethods.Ftp.UploadFile;
            ftpStream = ftpRequest.GetRequestStream();
            FileStream localFileStream = new FileStream(localFile, FileMode.Create);
            byte[] byteBuffer = new byte[bufferSize];
            int bytesSent = localFileStream.Read(byteBuffer, 0, bufferSize);
            try
            {
                while (bytesSent != 0)
                {
                    ftpStream.Write(byteBuffer, 0, bytesSent);
                    bytesSent = localFileStream.Read(byteBuffer, 0, bufferSize);
                }
            }
            catch (Exception ex) { Console.WriteLine(ex.ToString()); }
            localFileStream.Close();
            ftpStream.Close();
            ftpRequest = null;
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        return;
    }

    public void delete(string deleteFile)
    {
        try
        {
            ftpRequest = (FtpWebRequest)WebRequest.Create(host + "/" + deleteFile);
            ftpRequest.Credentials = new NetworkCredential(user, pass);
            ftpRequest.UseBinary = true;
            ftpRequest.UsePassive = true;
            ftpRequest.KeepAlive = true;
            ftpRequest.Method = WebRequestMethods.Ftp.DeleteFile;
            ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
            ftpResponse.Close();
            ftpRequest = null;
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        return;
    }

    public void rename(string currentFileNameAndPath, string newFileName)
    {
        try
        {
            ftpRequest = (FtpWebRequest)WebRequest.Create(host + "/" + currentFileNameAndPath);
            ftpRequest.Credentials = new NetworkCredential(user, pass);
            ftpRequest.UseBinary = true;
            ftpRequest.UsePassive = true;
            ftpRequest.KeepAlive = true;
            ftpRequest.Method = WebRequestMethods.Ftp.Rename;
            ftpRequest.RenameTo = newFileName;
            ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
            ftpResponse.Close();
            ftpRequest = null;
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        return;
    }

    public void createDirectory(string newDirectory)
    {
        try
        {
            ftpRequest = (FtpWebRequest)WebRequest.Create(host + "/" + newDirectory);
            ftpRequest.Credentials = new NetworkCredential(user, pass);
            ftpRequest.UseBinary = true;
            ftpRequest.UsePassive = true;
            ftpRequest.KeepAlive = true;
            ftpRequest.Method = WebRequestMethods.Ftp.MakeDirectory;
            ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
            ftpResponse.Close();
            ftpRequest = null;
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        return;
    }

    public string getFileCreatedDateTime(string fileName)
    {
        try
        {
            ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + fileName);
            ftpRequest.Credentials = new NetworkCredential(user, pass);
            ftpRequest.UseBinary = true;
            ftpRequest.UsePassive = true;
            ftpRequest.KeepAlive = true;
            ftpRequest.Method = WebRequestMethods.Ftp.GetDateTimestamp;
            ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
            ftpStream = ftpResponse.GetResponseStream();
            StreamReader ftpReader = new StreamReader(ftpStream);
            string fileInfo = null;
            try { fileInfo = ftpReader.ReadToEnd(); }
            catch (Exception ex) { Console.WriteLine(ex.ToString()); }
            ftpReader.Close();
            ftpStream.Close();
            ftpResponse.Close();
            ftpRequest = null;
            return fileInfo;
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        return "";
    }

    public string getFileSize(string fileName)
    {
        try
        {
            ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + fileName);
            ftpRequest.Credentials = new NetworkCredential(user, pass);
            ftpRequest.UseBinary = true;
            ftpRequest.UsePassive = true;
            ftpRequest.KeepAlive = true;
            ftpRequest.Method = WebRequestMethods.Ftp.GetFileSize;
            ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
            ftpStream = ftpResponse.GetResponseStream();
            StreamReader ftpReader = new StreamReader(ftpStream);
            string fileInfo = null;
            try { while (ftpReader.Peek() != -1) { fileInfo = ftpReader.ReadToEnd(); } }
            catch (Exception ex) { Console.WriteLine(ex.ToString()); }
            ftpReader.Close();
            ftpStream.Close();
            ftpResponse.Close();
            ftpRequest = null;
            return fileInfo;
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        return "";
    }

    public string[] directoryListSimple(string directory)
    {
        try
        {
            ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + directory);
            ftpRequest.Credentials = new NetworkCredential(user, pass);
            ftpRequest.UseBinary = true;
            ftpRequest.UsePassive = true;
            ftpRequest.KeepAlive = true;
            ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
            ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
            ftpStream = ftpResponse.GetResponseStream();
            StreamReader ftpReader = new StreamReader(ftpStream);
            string directoryRaw = null;
            try { while (ftpReader.Peek() != -1) { directoryRaw += ftpReader.ReadLine() + "|"; } }
            catch (Exception ex) { Console.WriteLine(ex.ToString()); }
            ftpReader.Close();
            ftpStream.Close();
            ftpResponse.Close();
            ftpRequest = null;
            try { string[] directoryList = directoryRaw.Split("|".ToCharArray()); return directoryList; }
            catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        return new string[] { "" };
    }

    public string[] directoryListDetailed(string directory)
    {
        try
        {
            ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + directory);
            ftpRequest.Credentials = new NetworkCredential(user, pass);
            ftpRequest.UseBinary = true;
            ftpRequest.UsePassive = true;
            ftpRequest.KeepAlive = true;
            ftpRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
            ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
            ftpStream = ftpResponse.GetResponseStream();
            StreamReader ftpReader = new StreamReader(ftpStream);
            string directoryRaw = null;
            try { while (ftpReader.Peek() != -1) { directoryRaw += ftpReader.ReadLine() + "|"; } }
            catch (Exception ex) { Console.WriteLine(ex.ToString()); }
            ftpReader.Close();
            ftpStream.Close();
            ftpResponse.Close();
            ftpRequest = null;
            try { string[] directoryList = directoryRaw.Split("|".ToCharArray()); return directoryList; }
            catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        return new string[] { "" };
    }
}

復制代碼 代碼如下:

ftp ftpClient = new ftp(@"ftp://10.10.10.10/", "user", "password");
ftpClient.upload("etc/test.txt", @"C:/Users/metastruct/Desktop/test.txt");
ftpClient.download("etc/test.txt", @"C:/Users/metastruct/Desktop/test.txt");
ftpClient.delete("etc/test.txt");
ftpClient.rename("etc/test.txt", "test2.txt");
ftpClient.createDirectory("etc/test");
string fileDateTime = ftpClient.getFileCreatedDateTime("etc/test.txt");
Console.WriteLine(fileDateTime);
string fileSize = ftpClient.getFileSize("etc/test.txt");
Console.WriteLine(fileSize);
string[] simpleDirectoryListing = ftpClient.directoryListDetailed("/etc");
for (int i = 0; i < simpleDirectoryListing.Count(); i++) { Console.WriteLine(simpleDirectoryListing[i]);
string[] detailDirectoryListing = ftpClient.directoryListDetailed("/etc");
for (int i = 0; i < detailDirectoryListing.Count(); i++) { Console.WriteLine(detailDirectoryListing[i]); }
ftpClient = null;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩中文字幕免费视频| 日韩成人黄色av| 亚洲自拍高清视频网站| 在线视频日韩精品| 久久久久久久国产| 日韩成人av在线播放| 国产一区二区三区中文| 久久成人18免费网站| 欧美日韩国产第一页| 亚洲va久久久噜噜噜| 综合网中文字幕| 久久天天躁日日躁| 久久久97精品| 日韩欧美成人精品| 91在线观看免费网站| 国产一区二区三区在线看| 亚洲男人的天堂在线播放| 成人午夜在线影院| 日韩成人在线视频网站| 欧美一二三视频| 91精品国产777在线观看| 日韩中文字幕免费看| 91国内揄拍国内精品对白| 欧美日韩精品国产| 中文字幕日韩精品在线观看| 国产精品入口日韩视频大尺度| 亚洲精品福利在线观看| 国产成人精彩在线视频九色| 成人激情视频在线播放| 美日韩在线视频| 国产精品视频资源| 欧美性受xxxx黑人猛交| 7777kkkk成人观看| 成人国产亚洲精品a区天堂华泰| 视频在线一区二区| 国产视频综合在线| 国产一区二区日韩精品欧美精品| 欧美性猛交xxxx免费看漫画| 久久精品久久久久久国产 免费| 在线观看欧美日韩| 操人视频在线观看欧美| 九色91av视频| 久久综合伊人77777蜜臀| 日本精品在线视频| 91色琪琪电影亚洲精品久久| 国产一区二区三区视频在线观看| 亚洲第一精品自拍| 亚洲午夜久久久影院| 亚洲精品98久久久久久中文字幕| 精品久久久在线观看| 欧美人与性动交a欧美精品| 北条麻妃在线一区二区| 亚洲第一网中文字幕| 91社区国产高清| 57pao国产精品一区| 日韩av免费看| 日韩国产精品亚洲а∨天堂免| 国产69久久精品成人| 国产精品成人观看视频国产奇米| 成人黄色av网站| 久久精品亚洲精品| 欧美黑人性视频| xvideos国产精品| 久久的精品视频| 久久成人精品视频| 亚洲高清色综合| 久久久黄色av| 国产精品wwwwww| 欧美午夜久久久| 国产午夜精品理论片a级探花| 不卡中文字幕av| 成人午夜高潮视频| 欧美大全免费观看电视剧大泉洋| 国产91精品视频在线观看| 亚洲成色777777女色窝| 国产成人在线一区| 日韩亚洲一区二区| 琪琪亚洲精品午夜在线| 欧美日韩国产一区二区| 亚洲在线观看视频| 在线性视频日韩欧美| 亚洲精品一区二区三区不| 欧美天天综合色影久久精品| 亚洲丝袜在线视频| 最近2019中文字幕一页二页| 91日本在线视频| 精品久久久久国产| 成人欧美一区二区三区在线湿哒哒| 成人高清视频观看www| 久久人人看视频| 日韩中文视频免费在线观看| 懂色av中文一区二区三区天美| 亚洲欧美中文另类| 国产精品青青在线观看爽香蕉| 亚洲欧美三级伦理| 国产香蕉精品视频一区二区三区| 国产成人精品a视频一区www| 国产精品大片wwwwww| 久久精品国产一区二区电影| 午夜免费在线观看精品视频| 中文字幕亚洲一区二区三区| 日韩精品一区二区视频| 青草成人免费视频| 91chinesevideo永久地址| 亚洲免费中文字幕| 久久视频这里只有精品| 亚洲黄在线观看| 国产精品久久久久久久午夜| 羞羞色国产精品| 欧美xxxx18国产| 91av在线国产| 久久人人爽人人爽人人片av高请| 日韩免费看的电影电视剧大全| 亚洲精品国产福利| 亚洲国产精品热久久| 亚洲欧洲高清在线| 精品偷拍各种wc美女嘘嘘| 中文字幕精品—区二区| 国产精品视频播放| 亚洲欧美一区二区三区在线| 一区二区三区日韩在线| 一区二区三区国产在线观看| 欧美黄色小视频| 夜夜嗨av色综合久久久综合网| 中文字幕日韩免费视频| 国产精品av免费在线观看| 欧美成人午夜激情在线| 亚洲国产高清福利视频| 日本成人激情视频| 国产精品美女久久久久久免费| 日韩在线视频一区| 国产精品xxx视频| 精品国产精品自拍| 国产a∨精品一区二区三区不卡| 欧美一区二区三区免费观看| 欧美性猛交xxxx偷拍洗澡| 欧美性xxxxxxx| 国产精品视频一区国模私拍| 国产日韩精品综合网站| 亚洲欧美日韩另类| 亚洲欧美日韩第一区| 日韩中文字幕在线播放| 国产精品91久久久久久| 国产丝袜精品视频| 亚洲精品久久久久| 欧美理论电影在线播放| 成人欧美一区二区三区黑人| 国产精品免费观看在线| 国产日产亚洲精品| 欧美日韩国产精品一区二区不卡中文| 国产精品福利观看| 久久国产精品久久久久| 亚洲国产小视频| 国产精品久久久久久久久久免费| 亚洲第一天堂av| 国产精品美女免费视频| 欧美资源在线观看| 国产成人高潮免费观看精品| 在线电影中文日韩| 色一情一乱一区二区| 91中文字幕在线| 久久99热精品| 亚洲欧美国产精品va在线观看| 欧美日韩一区二区三区在线免费观看|