資源簡介
自動獲取Ftp目錄樹工具,并帶有一個類,可以簡單調用。
歡迎互相交流~~

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.Net;
using?System.IO;
using?System.Windows.Forms;
namespace?FtpTree
{
????class?ConnectFtp
????{
????????#region?定義變量
????????TreeNode?preNode?=?new?TreeNode();
????????string?ftpPath;
????????string?ftpUserID;
????????string?ftpPassword;
????????#endregion
????????public?ConnectFtp(string?FtpPath?string?FtpUserID?string?FtpPassword?TreeNode?PreNode)//構造函數prenode這里一定要填寫最根級別的節點
????????{
????????????preNode?=?PreNode;
????????????ftpPath?=?FtpPath;
????????????ftpUserID?=?FtpUserID;
????????????ftpPassword?=?FtpPassword;
????????}
????????///?
????????///?綁定目錄樹方法
????????///?
????????public?void?GetTree()
????????{
????????????preNode.Nodes.Clear();//清空根節點下的所有節點
????????????GetDir(ftpPath?ftpUserID?ftpPassword?preNode);
????????}
????????///???
????????///?獲取FTP文件列表包括文件夾??
????????///? ??
????????///? ??
????????private?string[]?GetAllList(string?url?string?userid?string?password)
????????{
????????????List?list?=?new?List();
????????????FtpWebRequest?req?=?(FtpWebRequest)WebRequest.Create(new?Uri(url));
????????????req.Credentials?=?new?NetworkCredential(userid?password);
????????????req.Method?=?WebRequestMethods.Ftp.ListDirectoryDetails;
????????????req.UseBinary?=?true;
????????????req.UsePassive?=?true;
????????????try
????????????{
????????????????using?(FtpWebResponse?res?=?(FtpWebResponse)req.GetResponse())
????????????????{
????????????????????using?(StreamReader?sr?=?new?StreamReader(res.GetResponseStream()?System.Text.Encoding.Default))//這里encoding.Default防止中文亂碼
????????????????????{
????????????????????????string?s;
????????????????????????while?((s?=?sr.ReadLine())?!=?null)
????????????????????????{
????????????????????????????list.Add(s);
????????????????????????}
????????????????????}
????????????????}
????????????}
????????????catch?(Exception?ex)
????????????{
????????????????MessageBox.Show(ex.ToString());
????????????????//throw?(ex);
????????????}
????????????return?list.ToArray();
????????}
????????///?
????????///?獲取目錄,遞歸調用
????????///?
????????///?
????????///?
????????///?
????????///?
????????private?void?GetDir(string?ftpPath?string?ftpUserID?string?ftpPassword?TreeNode?preNode)
????????{
????????????string[]?listArray?=?GetAllList(ftpPath?ftpUserID?ftpPassword);
????????????TreeNode?TempNode?=?preNode;
????????????List?dirList?=?new?List();
????????????if?(listArray.Length?!=?0)
????????????{
????????????????for?(int?i?=?0;?i?????????????????{
????????????????????if?((listArray[i].Remove(29)).Contains(““))//判斷是否是文件夾截取前29位信息如果包含則是文件夾
????????????????????{
???????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????12800??2012-06-07?13:49??FtpTree\FtpTree\bin\Debug\FtpTree.exe
?????文件??????32256??2012-06-07?13:49??FtpTree\FtpTree\bin\Debug\FtpTree.pdb
?????文件??????11608??2012-06-07?09:05??FtpTree\FtpTree\bin\Debug\FtpTree.vshost.exe
?????文件????????490??2010-03-17?22:39??FtpTree\FtpTree\bin\Debug\FtpTree.vshost.exe.manifest
?????文件???????3702??2012-06-07?09:45??FtpTree\FtpTree\ConnectFtp.cs
?????文件???????3487??2012-06-07?09:29??FtpTree\FtpTree\FtpTree.csproj
?????文件???????4898??2012-06-07?13:49??FtpTree\FtpTree\GetFtpTree.cs
?????文件???????6421??2012-06-06?17:09??FtpTree\FtpTree\GetFtpTree.Designer.cs
?????文件???????5817??2012-06-06?17:09??FtpTree\FtpTree\GetFtpTree.resx
?????文件???????5519??2012-06-07?13:49??FtpTree\FtpTree\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????454??2012-06-07?09:31??FtpTree\FtpTree\obj\x86\Debug\FtpTree.csproj.FileListAbsolute.txt
?????文件??????12800??2012-06-07?13:49??FtpTree\FtpTree\obj\x86\Debug\FtpTree.exe
?????文件????????180??2012-06-07?13:49??FtpTree\FtpTree\obj\x86\Debug\FtpTree.GetFtpTree.resources
?????文件??????32256??2012-06-07?13:49??FtpTree\FtpTree\obj\x86\Debug\FtpTree.pdb
?????文件????????180??2012-06-07?13:49??FtpTree\FtpTree\obj\x86\Debug\FtpTree.Properties.Resources.resources
?????文件????????484??2012-06-05?10:34??FtpTree\FtpTree\Program.cs
?????文件???????1472??2012-06-05?10:31??FtpTree\FtpTree\Properties\AssemblyInfo.cs
?????文件???????2842??2012-06-05?10:31??FtpTree\FtpTree\Properties\Resources.Designer.cs
?????文件???????5612??2012-06-05?10:31??FtpTree\FtpTree\Properties\Resources.resx
?????文件???????1092??2012-06-05?10:31??FtpTree\FtpTree\Properties\Settings.Designer.cs
?????文件????????249??2012-06-05?10:31??FtpTree\FtpTree\Properties\Settings.settings
?????文件????????863??2012-06-05?10:31??FtpTree\FtpTree.sln
????..A..H.?????20992??2012-06-07?09:27??FtpTree\FtpTree.suo
?????目錄??????????0??2012-06-05?10:31??FtpTree\FtpTree\obj\x86\Debug\TempPE
?????目錄??????????0??2012-06-07?13:49??FtpTree\FtpTree\obj\x86\Debug
?????目錄??????????0??2012-06-06?09:32??FtpTree\FtpTree\bin\Debug
?????目錄??????????0??2012-06-05?10:35??FtpTree\FtpTree\bin\Release
?????目錄??????????0??2012-06-05?10:31??FtpTree\FtpTree\obj\x86
?????目錄??????????0??2012-06-05?10:35??FtpTree\FtpTree\bin
?????目錄??????????0??2012-06-05?10:31??FtpTree\FtpTree\obj
............此處省略6個文件信息
- 上一篇:delphi 云臺控制系統
- 下一篇:robocode 經典學習筆記
評論
共有 條評論