C# 使用ftp下载一个文件夹下的所有文件,包括子目录文件夹
这篇博客给大家补充一个方法,就是得到一个目录下的所有文件名称。在前端调用,大家写一个递归去遍历就可以了,我在这里就不在写了。具体ftp下载的方法在我的另一篇博客里有,需要的可以去看一下。
- /// <summary>
- /// 读取文件目录下所有的文件名称,包括文件夹名称
- /// </summary>
- /// <param name="ftpAdd">传过来的文件夹路径</param>
- /// <returns>返回的文件或文件夹名称</returns>
- public static string[] GetFtpFileList(string ftpAdd )
- {
- string url = FTPCONSTR + ftpAdd;
- FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(new Uri(url));
- ftpRequest.UseBinary = true;
- ftpRequest.Credentials = new NetworkCredential(FTPUSERNAME, FTPPASSWORD);
- if (ftpRequest != null)
- {
- StringBuilder fileListBuilder = new StringBuilder();
- //ftpRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;//该方法可以得到文件名称的详细资源,包括修改时间、类型等这些属性
- ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;//只得到文件或文件夹的名称
- try
- {
- WebResponse ftpResponse = ftpRequest.GetResponse();
- StreamReader ftpFileListReader = new StreamReader(ftpResponse.GetResponseStream(), Encoding.Default);
- string line = ftpFileListReader.ReadLine();
- while (line != null)
- {
- fileListBuilder.Append(line);
- fileListBuilder.Append("@");//每个文件名称之间用@符号隔开,便于前端调用的时候解析
- line = ftpFileListReader.ReadLine();
- }
- ftpFileListReader.Close();
- ftpResponse.Close();
- fileListBuilder.Remove(fileListBuilder.ToString().LastIndexOf("@"), );
- return fileListBuilder.ToString().Split('@');//返回得到的数组
- }
- catch (Exception ex)
- {
- return null;
- }
- }
- else
- {
- return null;
- }
- }
FTP实现文件的下载功能请参考博客:http://www.cnblogs.com/zhenzaizai/p/7434669.html。
C# 使用ftp下载一个文件夹下的所有文件,包括子目录文件夹的更多相关文章
- c# 控制台应用程序批量修改文件夹下的后缀名(包括子文件夹)
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...
- .NET Core中复制源文件夹下的所有内容到新文件夹
.NET Core中没有原生的复制文件夹方法,我们可以自己写个: 新建一个.NET Core控制台项目,示例代码如下: using System; using System.IO; namespace ...
- 为多个文件夹下的C源代码编写Makefile文件
上一篇文章写了如何为在同一个文件夹下的C源代码,本篇文章为多个文件夹下的C源代码编写Makefile文件. 建立两个文件夹,分别为abs与src.其最终目录结构如下: 1 $ ls * 2 jun.c ...
- java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量
package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...
- matlab遍历文件夹下所有图片和遍历所有子文件夹下图片
做图像处理实验,经常需要遍历当前文件下所有图片.matlab当然很早就考虑了这个问题,库函数dir就是完成这个工作的.函数返回的是一个存放所有目录下文件信息的结构体,通过遍历结构体就可以达到访问所有文 ...
- gitignore 忽略某文件夹下 非某后缀名的文件
忽略指定文件夹下的除某一文件之外的其他文件 parent_dir/!spec_file_name.html 忽略指定文件夹下的除某一类后缀名的文件 parent_dir/*[!*.html] 注意:若 ...
- AutoIT: 返回文件目录下所有的文件名,包括子文件
_filelist("D:\Snagit 10") Func _filelist($searchdir) ;;;函数名(形参) $search = FileFindFirstFil ...
- PHP获取文件夹内所有文件包括子目录文件的名称或路径
/* * new getFile($_dir[,$_emptyDir,$_fileType]); * @parma $_dir 是目录名称 * @parma $_emptyDir 是否获取空文件夹,选 ...
- QT QFtp使用实例 从FTP下载一个文件
1. ftp://ftp.denx.de/pub/u-boot/lowboot-1.0.0.patch.gz 下载文件 FtpGet.h #ifndef FTPGET_H #define FTPGE ...
随机推荐
- Python bool() 函数
Python bool() 函数 Python 内置函数 描述 bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False. bool 是 int 的子类. 语法 以下是 boo ...
- client / server端用户的登录
# 客户端 import socket import hashlib import json import os import struct sk = socket.socket() # 实例化 sk ...
- Java中Generics的使用
1.Java的Generics与C++的Template由于Java的Generics设计在C++的Template之后,因此Java的Generics设计吸取Template的很多经验和教训.首先, ...
- httpClient 连接池问题出现403.9
困扰了半个月时间终于找到连接池的问题,由于调用第三方有异常导致连接不能及时释放 所以写了一个定时扫描释放连接 监控连接池释放连接: public static class IdleConnection ...
- nginx accept() failed (24: Too many open files)
nginx服务器出现如下信息: [crit] 17221#0: accept4() failed (24: Too many open files) [crit] 17221#0: accept4() ...
- tomcat用虚拟目录方式发布项目与manager页面配置
conf/Catalina/localhost:指定项目的配置信息 1.添加:ROOT.xml 听见Context节点: <Context docBase="/usr/local/to ...
- geoserver 文件系统
我介绍了GeoServer的一些重要的资源以及它们的访问接口,现在来看看它们的保存形式.GeoServer的数据没有保存到数据库,而是文件系统,这让我们的学习轻松不少.默认情况下,GeoServer的 ...
- [Selenium]Eclipse hangs at 57% in debug mode with TestNG tests
案例1: I am very thankful to saish and cbeust for the solution. I went through the similar issue with ...
- dateframe取数据
import numpy as npimport pandas as pd## x1=[1,2,3,4]# x2=[4,5,6,7]# x3=[7,8,9,10]# df=pd.DataFrame(# ...
- 类里面的非static const成员
类里面的成员变量可以用const修饰,在只用const不用static修饰的情况下,这种使用的限制比较多 (1)不能定义处初始化,必须在类的构造函数初始化列表里面初始化(虽然在vs中,可以在定义处初始 ...