首页 > 编程语言 >c# 代码操作ftp服务器文件

c# 代码操作ftp服务器文件

时间:2024-02-21 16:01:07浏览次数:29  
标签:userName ftp string FTP c# ftpServer 服务器

好久不见,我又回来了。给大家分享一个最近c#代码操作ftp服务器的代码示例

 

 1  public abstract class FtpOperation
 2     {
 3         /// <summary>
 4         /// FTP服务器地址
 5         /// </summary>
 6         private string ftpServer;
 7 
 8         /// <summary>
 9         /// 用户名
10         /// </summary>
11         private string userName;
12 
13         /// <summary>
14         /// 密码
15         /// </summary>
16         private string passWord;
17 
18         /// <summary>
19         /// FTPHelper类的构造函数
20         /// </summary>
21         /// <param name="ftpServer">FTP服务器地址</param>
22         /// <param name="userName">用户名</param>
23         /// <param name="passWord">密码</param>
24         public FtpOperation(string ftpServer, string userName, string passWord)
25         {
26             this.ftpServer = ftpServer;
27             this.userName = userName;
28             this.passWord = passWord;
29         }
30 
31         /// <summary>
32         /// 执行FTP操作的方法
33         /// </summary>
34         /// <param name="action">要执行的操作</param>
35         private void ExecuteFtpOperation(Action action)
36         {
37             try
38             {
39                 action.Invoke();
40             }
41             catch (WebException ex)
42             {
43                 if (ex.Status == WebExceptionStatus.Timeout)
44                 {
45                     Console.WriteLine("连接超时。");
46                 }
47                 else
48                 {
49                     Console.WriteLine("发生错误 WebException: {0}", ex.Message);
50                 }
51             }
52             catch (Exception ex)
53             {
54                 Console.WriteLine("发生错误: {0}", ex.Message);
55             }
56         }
57  }
58 }
基础类的构造函数和属性

 

 

 

FtpOperation 中其他的方法

调用示例

            // FTP 服务器地址
            string ftpServer = "ftp://127.0.0.1:27/";
            // FTP 服务器用户名
            string userName = "Administrator";
            // FTP 服务器密码
            string password = "admin";

            FtpTest ftp = new FtpTest(ftpServer, userName, password);
            //ftp.QueryAll("/Template"); //查询
            ftp.FtpDeleteFolders("");//删除所有
            ftp.FtpUploadFolder("e:\\CoaTemplate", "");//将文件夹的内容上传到根目录
            ftp.FtpUploadFolder(@"D:\GitCode\Blog.Core", "/gitCode/Blog.Core");//将本地文件夹的内容上传到指定目录
            var data = ftp.RecursiveQueryAll("");//查询所有文件信息
            ftp.FtpMoveFolder("/CoaTemplate", "/1/CoaTemplate");//文件夹移动
            ftp.FtpDownloadFolder("/1", "d:\\1\\");    //将ftp服务器的指定文件夹下载到本地目录

 贴了半天代码,都不太行,一会能展开,一会展不开,源码地址放下面了。

项目地址:https://github.com/yycb1994/FtpSiteManager

标签:userName,ftp,string,FTP,c#,ftpServer,服务器
From: https://www.cnblogs.com/INetIMVC/p/18025336

相关文章

  • RxJS中高阶映射操作符的全面讲解:switchMap, mergeMap, concatMap (and exhaustMap)
    原文链接:https://blog.angular-university.io/rxjs-higher-order-mapping/有一些在日常开发中常用的RxJS的操作符是高阶操作符:switchMap,mergeMap,concatMap,以及exhaustMap。举个例子,程序中大多数的网络请求都是通过以上某个操作符来完成的,所以为了能够写出几乎所有反应式编程,必须......
  • appium inspector 连接安卓设备
    首先找到app的包名和activity。查看包名adbshell"dumpsyswindow|grepmCurrentFocus"查看包对应的activity,输入下面的命令,再找到cmpadbshellmonkey-pcom.jingdong.app.mall-vvv1启动appiumserver启动inspector,配置信息{"platformName":"Android","a......
  • subprocess中的return_code与poll
    subprocess中的return_code与pollp=subprocess.Popen('ping8.8.8.8',shell=True,stdout=subprocess.PIPE,stderror=subprocess.DEVNULL)whilenotp.poll():#p.poll()即为return_codeprint(p.stdout.read().decode())#return_code=p.poll()#......
  • USACO 2023 DEC bronze
    CandyCaneFeast第一题签到题,依题意模拟即可。注意细节,细节决定成败。CowntactTracing2贪心。读题奶牛传染,每个奶牛每晚传染左边和右边的奶牛。给定一个传染情况,求最开始最少有几个奶牛。我们记k为造成当前传染情况的传染天数。可以知道,传染的天数越多,被传染的牛就越......
  • encodeURI和encodeURIComponent的区别?
    在JavaScript中,encodeURI()和encodeURIComponent()是用于对URI进行编码的两个方法,它们可以将URI中的特殊字符进行转义,以便在URL中安全地传输和显示。encodeURI()方法用于对整个URI进行编码,除了常见的字符(字母、数字、-、_、.、!、~、*、'、(、))外,不会对其他字符......
  • 1 c++算法题解析-两个数之和
    //给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。//你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。//你可以按任意顺序返回答案。//示例1:////输入:nums=[2,7,......
  • Reflect是什么?
    Reflect是一个内置的JavaScript对象,提供了一组静态方法,这些方法对应于一些操作符,以及一些常见的操作。Reflect对象的方法可以被用来获取对象属性、设置属性、调用函数、构造对象等。以下是一些Reflect对象常用的方法:Reflect.get(target,propertyKey[,receiver]):返回指......
  • home-assistant core 源码粗读--程序入口篇(一)
    core源码地址:https://github.com/home-assistant/core/tree/mastercore与其他container等版本区别见: https://www.home-assistant.io/installation/入口:homeassisstant/__main__.py   难点: faulthandler【错误记录的包,C语言编写】,  parser.add_mutually_exclusi......
  • CompletableFuture异步编程详解
    Future介绍先来回顾下Future,Future是JDK1.5中添加的接口,主要功能为:获取并发的任务完成后的执行结果;能够取消并发执行中的任务;判断并发任务是否执行完成;但Future也有着非常明显的缺点:阻塞:调用get()方法会一直阻塞,直到等待直到计算完成;异常处理:Future没有提供任何异常处理的方......
  • C#中判断Ip地址能否ping通
    有的时候,哪怕ip地址的格式是正确的,但是也有可能是一个不可到达的ip地址或者不在同一个子网,这种时候如果不做处理,很有可能会导致程序的连接出现问题从而崩溃。请尝试下面的代码:1staticboolPingIPAddress(stringipAddress,stringtargetIpAddress)2{3try4......