• 大小: 46KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-05-25
  • 语言: 其他
  • 标签: Ftp  目录树  treeview  

资源简介

自动获取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 < listArray.Length; 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个文件信息

评论

共有 条评论