前面已經介紹了很多關於FTP對文件的操作,今天再跟大家介紹一個獲取文件列表的功能。這個功能應該算是最簡單的一個了,它只是獲取了一下文件信息,而沒有進行實質上的數據傳輸。
下面是是該功能的核心代碼:
/// <summary> /// 獲取文件列表 /// </summary> /// <param name="ftpServerIP">服務器地址</param> /// <param name="ftpUserID">FTP用戶名</param> /// <param name="ftpPassword">FTP密碼</param> /// <returns></returns> public string[] GetFileList(string ftpServerIP, string ftpUserID, string ftpPassword) { string[] downloadFiles; StringBuilder result = new StringBuilder(); FtpWebRequest reqFTP; try { // 根據uri創建FtpWebRequest對象 reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpServerIP)); // 指定數據傳輸類型 reqFTP.UseBinary = true; // ftp用戶名和密碼 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) { 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; return downloadFiles; } }
關於FTP的文章寫了好幾篇了,C#的FTP基本操作寫得都差不多了。這篇博客應該是最后一篇關於C#+FTP的文章了。