青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 124,  comments - 29,  trackbacks - 0
  1using System;
  2using System.Collections.Generic;
  3using System.Net;
  4using System.IO;
  5using System.Windows.Forms;
  6using System.Text;
  7
  8namespace FTPDownLoad
  9{
 10    class FtpFileInfo
 11    {
 12        public string FileName;
 13        public DateTime ModifyDateTime;
 14        public bool IsDirectory;
 15    }

 16    class FtpHelper
 17    {
 18        private string ftpServer;
 19        private string userName;
 20        private string password;
 21        FtpWebRequest ftpRequest = null;
 22        private string errMsg;
 23        public string ErrMsg
 24        {
 25            get return errMsg; }
 26            set { errMsg = value; }
 27        }

 28        public bool IsAnonymous
 29        {
 30            get
 31            {
 32                return !(userName != null && userName.Trim() != String.Empty
 33                        && password != null && password.Trim() != string.Empty);
 34            }

 35        }

 36
 37        public FtpHelper(string ftpServer, string userName, string password)
 38        {
 39            this.ftpServer = ftpServer;
 40            this.userName = userName;
 41            this.password = password;
 42        }

 43
 44        /// <summary>
 45        /// 取得服務器端的文件鏈表
 46        /// </summary>
 47        /// <param name="serverPath"></param>
 48        /// <returns></returns>

 49        public List<FtpFileInfo> GetFilesList(string serverPath)
 50        {
 51            List<FtpFileInfo> fileInfoList = new List<FtpFileInfo>();
 52            Uri uri = new Uri("ftp://" + ftpServer + serverPath);
 53            StreamReader sr = null;
 54            try
 55            {
 56                ftpRequest = (FtpWebRequest)FtpWebRequest.Create(uri);
 57                if (ftpRequest == nullthrow new Exception("無法打開ftp服務器連接");
 58                ftpRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;   //列表   
 59                if (!IsAnonymous)
 60                {
 61                    ftpRequest.Credentials = new NetworkCredential(userName, password);
 62                }

 63
 64                sr = new StreamReader(ftpRequest.GetResponse().GetResponseStream());
 65                while (!sr.EndOfStream)//讀取列表   
 66                {
 67                    //System.Diagnostics.Debug.WriteLine(sr.ReadLine());
 68                    char[] splitChar = ' ' };
 69                    string[] tmpArray = sr.ReadLine().Split(splitChar, StringSplitOptions.RemoveEmptyEntries);
 70                    if (tmpArray.Length != 9)
 71                    {
 72                        continue;
 73                    }

 74                    FtpFileInfo ffi = new FtpFileInfo();
 75                    ffi.IsDirectory = tmpArray[0].StartsWith("d");
 76                    if (!ffi.IsDirectory)
 77                    {
 78                        ffi.FileName = tmpArray[8];
 79                        fileInfoList.Add(ffi);
 80                    }

 81                    else
 82                    {
 83                        continue;
 84                    }

 85                }

 86            }

 87            catch (Exception ex)
 88            {
 89                //TODO: 異常處理.
 90                throw ex;
 91            }

 92            finally
 93            {
 94                if (sr != null) sr.Close();
 95            }

 96
 97            foreach (FtpFileInfo ffi in fileInfoList)
 98            {
 99                ffi.ModifyDateTime = this.GetFileModifyTime(serverPath, ffi.FileName);
100            }

101            return fileInfoList;
102        }

103        /// <summary>
104        /// Download
105        /// </summary>
106        /// <param name="serverPath"></param>
107        /// <param name="serverFileName"></param>
108        /// <param name="localPath"></param>
109        /// <param name="localFileName"></param>
110        /// <returns></returns>

111        public bool Download(string serverPath, string serverFileName, string localPath, string localFileName)
112        {
113            if (!Directory.Exists(localPath))
114            {
115                //TODO: 創建文件夾
116                errMsg = "本地路徑不存在: " + localPath;
117                return false;
118            }

119            FileStream outputStream = null;
120            Stream ftpStream = null;
121            try
122            {
123                outputStream = new FileStream(localPath + "\\" + localFileName, FileMode.Create);
124                if (outputStream == null)
125                {
126                    errMsg = "無法創建本地文件";
127                    return false;
128                }

129                ftpRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServer + serverPath + "/" + serverFileName));
130                if (ftpRequest == null)
131                {
132                    errMsg = "無法連接服務器";
133                    return false;
134                }

135                ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
136                ftpRequest.UseBinary = true;
137                //用戶驗證
138                if (!IsAnonymous)
139                {
140                    ftpRequest.Credentials = new NetworkCredential(userName, password);
141                }

142                ftpStream = ftpRequest.GetResponse().GetResponseStream();
143                int bufferSize = 2048;
144                int readCount;
145                byte[] buffer = new byte[bufferSize];
146
147                while ((readCount = ftpStream.Read(buffer, 0, bufferSize)) > 0)
148                {
149                    outputStream.Write(buffer, 0, readCount);
150                }

151            }

152            catch (Exception ex)
153            {
154                errMsg = ex.ToString();
155                return false;
156            }

157            finally
158            {
159                if (ftpStream != null) ftpStream.Close();
160                if (outputStream != null) outputStream.Close();
161            }

162            FileInfo fi = new FileInfo(localPath + "\\" + localFileName);
163            fi.LastWriteTime = GetFileModifyTime(serverPath, serverFileName);
164            return true;
165        }

166
167        public  void DownLoadDirectory(String ServerPath, String LocalPath)
168        {
169            //取服務器端要下載的目錄里的文件列表
170            List<FtpFileInfo> serFileList = GetFilesList(ServerPath);
171            foreach (FtpFileInfo ftpFile in serFileList)
172            {
173                if (ftpFile.IsDirectory) continue;
174                DateTime modifyTime = ftpFile.ModifyDateTime;
175                string localFileName = modifyTime.ToString("yyyyMMddHHmmss"+ "_" + ftpFile.FileName;
176
177                // 如果本地不存在該文件,則說明該文件是比較新的文件,需要下載.
178                if (!File.Exists(LocalPath + "\\" + localFileName))
179                {
180                    if (!Download(ServerPath, ftpFile.FileName, LocalPath, localFileName))
181                    {
182                        MessageBox.Show("下載文件出錯!\r\n錯誤原因: " + ErrMsg);
183                    }

184                }

185            }

186        }

187           
188        public DateTime GetFileModifyTime(string serverPath, string fileName)
189        {
190            Uri uri = new Uri("ftp://" + ftpServer + serverPath + "/" + fileName);
191            DateTime dt = DateTime.Now;
192            try
193            {
194                ftpRequest = (FtpWebRequest)WebRequest.Create(uri);
195                if (!IsAnonymous)
196                {
197                    ftpRequest.Credentials = new NetworkCredential(userName, password);
198                }

199                ftpRequest.Method = WebRequestMethods.Ftp.GetDateTimestamp;
200                ftpRequest.UseBinary = true;
201                ftpRequest.UsePassive = false;
202                dt = ((FtpWebResponse)ftpRequest.GetResponse()).LastModified;
203            }

204            catch (Exception ex)
205            {
206                //TODO: 錯誤處理
207                throw ex;
208            }

209            return dt;
210        }

211    }

212}
posted on 2008-09-26 17:36 天書 閱讀(1073) 評論(0)  編輯 收藏 引用

<2008年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(5)

隨筆檔案

文章分類

文章檔案

好友的Bolg

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美激情视频一区二区三区免费| 狠色狠色综合久久| 亚洲图片在线| 亚洲美女网站| 夜色激情一区二区| 亚洲一区二区毛片| 亚洲福利国产| 麻豆精品网站| 欧美成人黑人xx视频免费观看| 亚洲综合第一页| 亚洲欧美国产一区二区三区| 在线欧美日韩国产| 亚洲日本中文| 欧美一区二区三区视频| 狼人社综合社区| 另类图片综合电影| 91久久精品一区| 亚洲一区二区三区四区五区黄| 亚洲男同1069视频| 另类av导航| 国产欧美日韩视频一区二区三区 | 激情丁香综合| 亚洲国产清纯| 久久精品国产综合精品| 亚洲电影下载| 久久久国产精彩视频美女艺术照福利| 欧美淫片网站| 欧美午夜精品久久久久久人妖| 在线播放中文字幕一区| 亚洲免费婷婷| 日韩亚洲在线观看| 蜜桃av噜噜一区| 国内精品一区二区| 久久久精彩视频| 亚洲一区视频在线| 国产精品九九久久久久久久| 狠狠爱www人成狠狠爱综合网 | 亚洲乱码国产乱码精品精可以看| 亚洲欧美欧美一区二区三区| 亚洲国产精品va在看黑人| 欧美一区二区免费| 国产精品久线观看视频| 亚洲私拍自拍| 一区二区三区你懂的| 欧美黄污视频| 欧美亚洲日本国产| 欧美一区二区三区精品电影| 欧美人与性禽动交情品| 亚洲永久免费视频| 欧美在线观看网址综合| 在线精品亚洲| 亚洲一区国产精品| 狠狠爱成人网| 午夜精品久久久久久久99黑人| 亚洲电影在线播放| 99在线热播精品免费| 怡红院精品视频| 日韩西西人体444www| 国产一区二区久久久| 最新国产乱人伦偷精品免费网站| 欧美午夜免费影院| 欧美顶级大胆免费视频| 国产精品第2页| 亚洲国产合集| 亚洲国产福利在线| 亚洲欧美一区在线| 亚洲欧美卡通另类91av| 免费亚洲一区| 欧美大片一区二区| 国内精品久久久久国产盗摄免费观看完整版 | 中文久久乱码一区二区| 影音先锋久久精品| 欧美伊人影院| 蜜臀av国产精品久久久久| 国产一区二区丝袜高跟鞋图片| 亚洲手机成人高清视频| 欧美一区二区三区视频免费播放| 欧美三级视频在线观看| 欧美激情在线| 一本色道久久综合亚洲精品按摩| 欧美福利电影在线观看| 欧美高清自拍一区| 亚洲精品在线一区二区| 欧美91福利在线观看| 99国产精品久久久| 亚洲无线一线二线三线区别av| 欧美天天综合网| 欧美一区二区私人影院日本 | 国产精品久久久久毛片大屁完整版| 久久一区二区视频| 最新国产乱人伦偷精品免费网站| 欧美成人激情视频| 亚洲精品中文字| 久久久精品一区| 亚洲精品视频在线播放| 国产精品一区二区男女羞羞无遮挡| 亚洲欧美日韩在线综合| 久久综合九色综合网站| 亚洲人成网站在线播| 欧美精品国产精品日韩精品| 中文av字幕一区| 欧美成人有码| 国产精品视频专区| 欧美成人精品不卡视频在线观看| 亚洲精品日产精品乱码不卡| 国内精品一区二区三区| 免费久久99精品国产自在现线| 亚洲精品视频在线播放| 久久夜色精品亚洲噜噜国产mv| 亚洲专区一区| 亚洲精品中文字幕在线观看| 国产一区二区三区的电影 | 性欧美video另类hd性玩具| 一区二区在线视频| 一区二区亚洲精品国产| 国产精品自拍三区| 国产精品久久久久久久久免费樱桃| 久久综合一区| 久久综合亚州| 欧美精品三级| 欧美精品电影在线| 欧美日韩国产精品一区| 欧美激情一区二区三区蜜桃视频| 免费观看日韩av| 欧美激情小视频| 国产精品免费视频观看| 国产麻豆一精品一av一免费| 国产一区日韩欧美| 亚洲黑丝在线| 日韩亚洲国产欧美| 亚洲免费在线电影| 久久亚裔精品欧美| 亚洲人成亚洲人成在线观看图片 | 欧美一区二区观看视频| 久久一区二区三区四区| 免费一级欧美片在线播放| 91久久午夜| 久久国产日韩| 亚洲精品在线观看视频| 欧美中文在线字幕| 欧美日韩不卡在线| 欧美午夜精品| 日韩天天综合| 美女任你摸久久| 亚洲一区二区三区777| 欧美国产成人在线| 国产综合香蕉五月婷在线| 亚洲欧美日韩视频二区| 亚洲精品一二区| 欧美日韩一区国产| 亚洲精品日本| 亚洲黄色天堂| 开元免费观看欧美电视剧网站| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲国产毛片完整版| 久久久久久精| 久久精品人人做人人综合| 国产日产欧美一区| 久久久久久69| 久久午夜电影网| 亚洲国产日韩欧美在线99| 亚洲第一页中文字幕| 欧美福利小视频| 亚洲精品视频免费| 日韩图片一区| 国产视频精品va久久久久久| 久久国产精品亚洲77777| 久久久久久亚洲综合影院红桃| 亚洲黄色精品| 亚洲一区视频在线| 国内外成人免费激情在线视频网站 | 久久经典综合| 久久久久久久久综合| 亚洲经典自拍| 午夜精品亚洲一区二区三区嫩草| 国产亚洲永久域名| 亚洲精品国产欧美| 国产有码在线一区二区视频| 亚洲人体大胆视频| 亚洲成人在线网| 日韩视频一区二区| 久久深夜福利| 国产亚洲一区精品| 久久精品夜色噜噜亚洲a∨| 亚洲国产成人porn| 美女视频一区免费观看| 欧美一区91| 国产精品一二三四区| 亚洲免费视频一区二区| 亚洲午夜精品国产| 欧美午夜国产| 亚洲午夜精品久久| 亚洲免费在线电影| 国产精品免费电影| 亚洲欧美日韩国产综合在线| 欧美一区成人| 亚洲第一黄网| 国产精品福利久久久| 亚洲天堂成人在线视频| 午夜宅男久久久|