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

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>
            欧美一区国产在线| 性欧美超级视频| 国产精品每日更新在线播放网址| 久久欧美肥婆一二区| 久久影视精品| 欧美精品激情blacked18| 欧美精品黄色| 国产精品视频999| 国产在线拍揄自揄视频不卡99| 国产一区二区高清视频| 永久免费毛片在线播放不卡| 亚洲三级性片| 亚洲一区影院| 久久视频这里只有精品| 午夜精品www| 亚洲激情视频在线| 亚洲国产精品一区制服丝袜 | 嫩草成人www欧美| 欧美成人a视频| 国产精品久久久久久久久久三级| 国产精品实拍| 亚洲精品乱码视频| 午夜亚洲激情| 亚洲电影免费观看高清完整版| 一本久道久久综合狠狠爱| 亚洲伊人观看| 欧美黄色影院| 国语精品一区| 亚洲女优在线| 91久久黄色| 欧美亚洲免费在线| 欧美日韩mv| 亚洲国产精品毛片| 久久国产免费| 一区二区三区成人精品| 久久人人爽国产| 国产精品人人做人人爽人人添| 亚洲国内自拍| 欧美www视频| 亚洲欧美中文日韩v在线观看| 欧美日本二区| 亚洲国产裸拍裸体视频在线观看乱了| 午夜伦欧美伦电影理论片| 亚洲国产精品精华液网站| 久久黄色影院| 国产三级欧美三级| 欧美伊人久久久久久久久影院 | 亚洲另类在线视频| 美女精品国产| 久久国产精品第一页| 国产精品亚洲一区| 亚洲欧美变态国产另类| 日韩视频免费在线观看| 欧美高清一区| 亚洲精品中文字| 亚洲第一天堂av| 久久综合色播五月| 亚洲电影免费在线 | 欧美午夜免费| 9人人澡人人爽人人精品| 亚洲国产精品va在线观看黑人 | 欧美gay视频激情| 在线观看日韩专区| 国内久久精品| 精品动漫av| 麻豆av一区二区三区| 久久精品国产第一区二区三区最新章节| 亚洲永久免费精品| 欧美精品首页| 久久国产精品久久久| 国产农村妇女毛片精品久久麻豆 | 精品不卡视频| 久久人人爽爽爽人久久久| 羞羞视频在线观看欧美| 国产一区导航| 美日韩精品视频| 久久欧美肥婆一二区| 亚洲三级电影在线观看| a91a精品视频在线观看| 国产精品美女在线观看| 久久精品女人| 美女主播一区| 亚洲午夜电影| 亚洲免费综合| 永久免费毛片在线播放不卡| 亚洲国产99精品国自产| 欧美三级精品| 久久伊人亚洲| 欧美日韩一区在线视频| 欧美伊久线香蕉线新在线| 久热成人在线视频| 亚洲视频axxx| 久久九九精品| 中文高清一区| 久久精品一本| 亚洲视频在线免费观看| 欧美一区激情| 亚洲一级黄色| 久久综合亚洲社区| 亚洲综合色激情五月| 欧美在线3区| 在线视频一区观看| 久久女同精品一区二区| 亚洲免费网站| 免费91麻豆精品国产自产在线观看| 亚洲一区在线观看免费观看电影高清| 久久深夜福利| 欧美一区二区私人影院日本| 欧美本精品男人aⅴ天堂| 欧美资源在线| 欧美日韩中文字幕在线视频| 六月天综合网| 国产欧美在线播放| 亚洲精品久久久久久下一站| 国产综合视频| 亚洲欧美国产高清va在线播| 99国产一区| 蜜臀va亚洲va欧美va天堂| 久久精品综合网| 国产精品日韩精品欧美在线| 91久久精品国产91性色| 精品88久久久久88久久久| 亚洲一区二区三区在线看| 亚洲精品欧美日韩| 在线精品福利| 久久激情婷婷| 久久国产欧美精品| 国产精品―色哟哟| 亚洲视频电影在线| 亚洲一区二区三区在线视频| 欧美另类在线播放| 亚洲精品123区| 日韩一区二区精品在线观看| 欧美成人精品在线播放| 欧美电影资源| 亚洲国产欧美一区二区三区久久 | 国产精品jizz在线观看美国| 亚洲国产免费| 亚洲美女av网站| 欧美精品在线免费播放| 亚洲国产日韩欧美一区二区三区| 欧美喷水视频| 欧美亚洲免费在线| 欧美有码在线视频| 午夜久久一区| 国产欧美在线观看一区| 欧美亚洲系列| 久久久久一区二区| 国语自产精品视频在线看一大j8 | 欧美日韩一区二区三区四区在线观看 | 亚洲精品国产精品久久清纯直播| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲国产日韩欧美在线图片| 国产精品欧美一区二区三区奶水 | 在线日韩欧美视频| 欧美一二三区精品| 亚洲欧美在线x视频| 国产精品网站视频| 久久精品导航| 亚洲国语精品自产拍在线观看| 夜夜躁日日躁狠狠久久88av| 欧美视频精品一区| 香蕉成人久久| 亚洲大胆在线| 亚洲欧美国产日韩天堂区| 国语自产精品视频在线看8查询8 | 亚洲一区二区日本| 亚洲欧美日本伦理| 久久午夜羞羞影院免费观看| 亚洲欧洲视频| 国产伦精品一区二区三区在线观看 | 国产精品日韩精品欧美精品| 欧美制服丝袜第一页| 亚洲动漫精品| 性久久久久久久| 亚洲国产一区在线| 国产精品网站在线| 欧美电影在线免费观看网站 | 欧美噜噜久久久xxx| 亚洲欧美日韩一区在线观看| 欧美福利电影网| 亚洲欧美一区二区原创| 在线观看精品一区| 国产精品福利久久久| 久久综合99re88久久爱| 亚洲一区二区三区精品动漫| 欧美肥婆bbw| 久久人人精品| 亚洲欧美在线免费| 日韩一级在线观看| 在线观看久久av| 国产一区二区在线观看免费| 欧美日韩大片| 免费视频一区| 欧美一区二区视频免费观看| 一区二区三区日韩精品| 亚洲经典三级| 欧美二区在线播放| 麻豆91精品| 久久久人成影片一区二区三区|