C# FTP 遍历所有文件包括子目录文件下载

2023-10-30

文章修改2011-12-3号

char[] seperator = { '/n' }; 现改为  char[] seperator = { '\n' };//

 

 

今天用到下载FTP里所有文件和目录的程序,网上找了很久没找到,没办法只好自己写了!代码写得不太优化希望有兴趣的朋友可以研究优化一下性能。

共两个类库: 一、主类 FtpDownClass 和 二、泛型辅助类。

 

一、主类 FtpDownClass

 命名空间:

 using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Sockets;
using System.Text;
using System.Net;
using System.IO;
using System.Collections.Generic;

  

 

二、泛型辅助类 TopDictionary

 

 

三、批量下载调用示例

 

string DirPath="";   //保存目录

 Lib.FtpDownClass ftp = new DataBaseBak.Lib.FtpDownClass();
            ftp.RemoteHost = FTP地址;
            ftp.RemotePort = 端口;
            ftp.RemotePath = 主目录;
            ftp.RemoteUser = 帐号;
            ftp.RemotePass = 密码;
            Console.WriteLine("开始下载文件,请不要关闭程序,下载完将会提示");

            ftp.Get("*", DirPath);

            Console.WriteLine("下载完成");

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# FTP 遍历所有文件包括子目录文件下载 的相关文章

  • 与 MinGW 的静态和动态/共享链接

    我想从一个简单的链接用法开始来解释我的问题 假设有一个图书馆z它可以编译为共享库 libz dll D libs z shared libz dll 或静态库 libz a D libs z static libz a 让我想要链接它 然后
  • CMake(Ninja 后端)使用 /MT 编译

    我有一个类似的问题CMake 使用 MT 而不是 MD 进行编译 https stackoverflow com questions 14172856 cmake compile with mt instead of md但有一些差异 我正
  • 从结构调用 C++ 成员函数指针

    我找到了有关调用 C 成员函数指针和调用结构中的指针的信息 但我需要调用结构内部存在的成员函数指针 但我无法获得正确的语法 我在类 MyClass 的方法中有以下代码片段 void MyClass run struct int MyClas
  • 如何以编程方式删除受信任的根证书颁发机构中的证书?

    我需要能够从组织中的每台电脑中删除特定的证书 是的 我可以逐个座位 但我要到周四才能完成 而且我没有人力逐个座位 是否有使用 C 的编程方式来执行此操作 我认为你不需要编写任何 C 看看certmgr exe del http msdn m
  • Windows Phone 7 - ScrollViewer 值已更改

    我一直在寻找解决方案 但无法找到正确的解决方案 我的网格宽度为 960 并且有ScrollViewer在里面 现在我想知道滚动时滚动的值 水平偏移 我找到的所有解决方案都是针对 wpf silverlight 的 它对我不起作用 Edit
  • 大量互斥体对性能的影响

    假设我有一个包含 1 000 000 个元素的数组 以及多个工作线程 每个线程都操作该数组中的数据 工作线程可能会使用新数据更新已填充的元素 但每个操作仅限于单个数组元素 并且独立于任何其他元素的值 使用单个互斥锁来保护整个数组显然会导致高
  • 从图像创建半透明光标

    是否可以从图像创建光标并使其半透明 我目前正在拍摄自定义图像并覆盖鼠标光标图像 如果我可以将其设为半透明 那就太好了 但不是必需的 销售人员喜欢闪亮的 目前正在做这样的事情 Image cursorImage customImage Get
  • 为什么连续抛出 2 个异常不会生成无法访问的代码警告?

    为什么以下代码行不会创建编译器警告 void Main throw new Exception throw new Exception 据我所知 编译器应该通知您无法到达第二个抛出异常 这显然是一个编译器错误 它是在 C 3 0 中引入的
  • 使用任一默认捕获模式时,这是通过复制捕获还是 (*this) 通过引用捕获?是一样的吗?

    当我看到以下工作时我有点困惑 struct A void g void f g 但后来我发现this https stackoverflow com a 16323119 5825294答案非常详细地解释了它是如何工作的 本质上 它归结为t
  • main.cpp 是必需的吗?

    我试图编译一个程序cmake 我最终删除了我的main cpp文件 我刚刚将其复合到另一个包含我的项目名称的文件中 即 我刚刚将主函数剪切并粘贴到该文件中 问题是我有一个main cpp未发现错误 不确定是否在C 一个名为main cpp是
  • MINIX内部碎片2

    我正在用 C 语言编写一些软件 它递归地列出给定目录中的所有文件 现在我需要计算出内部碎片 我花了很长时间研究这个问题 发现 ext2 上的内部碎片只发生在最后一个块中 我知道理论上你应该能够从索引节点号获得第一个和最后一个块地址 但我不知
  • 将 AutomationID 与 ListView 结合使用

    我正在尝试将 AutomationId 附加到列表视图中的项目 理想情况下 将项目名称绑定到显示的项目
  • fgets溢出后如何清除输入缓冲区?

    当输入字符串超出其预定义限制时 我遇到了 fgets 的小问题 以下面的例子为例 for index 0 index lt max index printf Enter the d string index 1 if fgets input
  • 在 clang 中向量化函数

    我正在尝试根据此用 clang 对以下函数进行矢量化铿锵参考 http llvm org docs Vectorizers html 它采用字节数组向量并根据以下条件应用掩码this RFC https www rfc editor org
  • 在一个解决方案中调用不同项目的方法

    1 个解决方案中有 3 个项目 我对第一个项目中的主文件进行的主要操作 但是我需要调用第三个项目中的方法并使用类 例如 第三个项目有 public DataClasses1DataContext base global WindowsFor
  • 给定一个字符串,如何删除所有重复的连续字母?

    如何从字符串中删除两个连续的字母 例如 a str hii thherre 应该成为 hi there 我尝试这样做 a str join sorted set a str key a str index 但是 我得到 hi ter 是的
  • 为什么我可以在另一个函数中定义一个函数?

    请参阅下面的代码 我在另一个函数中定义了一个函数 void test1 void void test2 void printf test2 n printf test1 n int main void test1 return 0 这个用法
  • 在多线程环境中捕获信号

    我有一个大型程序 需要尽可能具有弹性 并且有大量线程 我需要捕获所有信号SIGBUS SIGSEGV 并在必要时重新初始化有问题的线程 或者禁用该线程以继续减少功能 我的第一个想法是做一个setjump 然后设置信号处理程序 可以记录问题
  • C++ 中的析构函数

    我的 AB h 文件中有一个构造函数 class AB private int i public AB i 0 constructor AB i 0 destructor virtual void methodA unsigned int
  • 将同步 zip 操作转换为异步

    我们有一个现有的库 其中一些方法需要转换为异步方法 但是我不确定如何使用以下方法执行此操作 错误处理已被删除 该方法的目的是压缩文件并将其保存到磁盘 请注意 zip 类不公开任何异步方法 public static bool ZipAndS

随机推荐

  • 30分钟掌握STL系列(二)

    30分钟掌握STL系列 二 迭代器 迭代器提供对一个容器中的对象的访问方法 并且定义了容器中对象的范围 迭代器就如同一个指针 事实上 C 的指针也是一种迭代器 但是 迭代器不仅仅是指针 因此你不能认为他们一定具有地址值 例如 一个数组索引
  • 滴滴前端高频react面试题总结

    当调用 setState的时候 发生了什么操作 当调用 setState时 React做的第一件事是将传递给setState的对象合并到组件的当前状态 这将启动一个称为和解 reconciliation 的过程 和解的最终目标是 根据这个新
  • iOS开发——在 OC 项目中使用基于 Swift 的 CocoaPods 库

    在 OC 项目中使用基于 Swift 的 CocoaPods 库 随着 Swift 的流行 各种神奇的库也开始有对应的 Swift 版本了 而其中一些更神奇的库却只有 Swift 版本 正巧接手了一个前人用 Swift 写的项目 里面有一个
  • element中checkbox触发change事件时同时传递状态和自定义参数

    element中checkbox触发change事件时同时传递状态和自定义参数 div div
  • 高质量程序设计指南C++ C 代码规范

    这里只是搬运作者对 匈牙利 命名规则做合理简化之后的命名规则 比较适合于 Windows应用程序的开发 建议1 类型名和函数名均以大写字母开头的单词组合而成 例如 class Node 类名 class LeafNode 类名 void D
  • 打开dll文件时模块加载失败,请确保二进制存储在指定的路径中,或者调试它以检查该二进制或相关的.DLL文件是否有问题

    打开dll文件时模块加载失败 请确保二进制存储在指定的路径中 或者调试它以检查该二进制或相关的 DLL文件是否有问题 打开dll文件时模块加载失败 电脑提示请确保二进制存储在指定的路径中 或者调试它以检查该二进制或相关的 DLL文件是否有问
  • Linux命令-fsync

    对fsync命令只做简单介绍 不做详细原理解释 通过man命令查看fsync 2 函数有以下共识 1 fsync函数是属于系统核心函数 2 调用fsync函数会将修改的数据和文件描述符的属性持久化到存储设备中 3 fsync函数将内核缓存的
  • PyQt+moviepy音视频剪辑实战文章目录

    前往老猿Python博文目录 本专栏为moviepy音视频剪辑合成相关内容介绍的免费专栏 对应的收费专栏为 moviepy音视频开发专栏 一 moviepy基础能力系统介绍 本部分主要以类为单位介绍moviepy相关知识 相关内容主要来自m
  • Linux——gcc和g++的区别和应用

    Windows中我们常用vs来编译编写好的C和C 代码 vs把编辑器 编译器和调试器等工具都集成在这一款工具中 在Linux下我们能用什么工具来编译所编写好的代码呢 其实Linux下这样的工具有很多 但我们只介绍两款常用的工具 它们分别是g
  • C#难点语法讲解之委托---从应用需求开始讲解

    一 委托的定义 委托 Delegate 是存有对某个方法的引用的一种引用类型变量 引用可在运行时被改变 简单解释 变量好控制 方法不好控制 委托可以把方法变成变量 二 例子解释定义 如果我们有一个数组 里面有10个数据 数组就是变量的一种
  • 逻辑架构图、系统架构图、技术架构图

    逻辑架构图 系统架构图和技术架构图是软件系统中常见的三种不同类型的架构图 用于描述系统的不同方面和层次 1 逻辑架构图 Logical Architecture Diagram 逻辑架构图侧重于系统的功能和模块之间的关系 描述了软件系统的逻
  • 前后端分离 单点登录SSO 纯前端实现单点登录SSO

    示例代码地址 GitHub 以前涉及到单点登录 都是用CAS解决的 不过体验不是很好 但是也确确实实实现了单点登录 利用了session会话 后来我到了公司的架构部 部门决定重新定位前端技术路线 我大胆地采用了前后端分离的方式 让前端工程化
  • 关于dataframe中的警告A value is trying to be set on a copy of a slice from a DataFrame问题解决

    在pandas处理dataframe时新增一列数据时发现这里给出警告 但不影响程序的正常运行 这个警告意思是pandas在使用de 列名 赋值时会返回一个试图而不是原始的dataframe 这种情况下对视图进行修改可能无法生效 针对这个问题
  • window10下半自动标注

    前言 我看了一眼我们项目的标签很多不行 得重新标注 想借助一下自动标注或者半自动标注救救一万多近两万张照片 方法1 easyDL智能标注 1 借助百度easyDL进行标注 选择EasyDL图像 gt 物体检测 我是做图像识别所以选择Easy
  • springboot JPA Connection is read-only. Queries leading to data modification are not allowed

    环境 springboot jpa 数据库 阿里云mysql数据库 数据库连接字符串 问题描述 在自己部署的mysql数据库可以正常访问 没有问题 但是切换到阿里mysql数据库上出现JPA Connection is read only
  • RenRen-Fast-Vue 安装

    node版本 npm版本 v10 24 1 6 14 12 下载代码 https gitee com renrenio renren fast vue git 设置代理 npm config set registry http regist
  • 在clion打断点,debug的时候没有按照顺序进行的情况怎么办?该文章可以提供几个思路

    在使用CLion进行调试时 如果断点无法按照预设的位置停止 通常是由于以下原因之一导致的 编译器优化 编译器可能对代码进行了优化 使得某些代码没有实际执行 因此断点无法触发 可以尝试关闭编译器优化选项 如 O2 重新编译代码并运行调试 代码
  • Unity 代码命名规范

    1 类 class 结构 struct 枚举 enum 标签 Attribute 名 静态 私有 保护 公有 单词首字母大写 比如 Main CharacterController 2 接口 interface 名 静态 私有 保护 公有
  • 鸟哥的linux私房菜一书

    第0章 计算机概论 计算机的容量单位 速度单位 CPU的指令周期使用MHz或者GHz为单位 Hz就是秒分之一 网络传输使用的bit为单位 Mbps Mbits per second 就是每秒多少Mbit cpu是中央处理器 有控制器和运算器
  • C# FTP 遍历所有文件包括子目录文件下载

    文章修改2011 12 3号 char seperator n 现改为 char seperator n 今天用到下载FTP里所有文件和目录的程序 网上找了很久没找到 没办法只好自己写了 代码写得不太优化希望有兴趣的朋友可以研究优化一下性能