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 ...
随机推荐
- SQL dialect is not configured
在Idea中,xml配置文件报错:SQL dialect is not configured 解决方法如下: 在Idea中,在报错的地方按alt+enter,然后点击Generic配置dialect即 ...
- css学习-css引入&css选择
一.引入css的方式,一共有4种,我们只需要掌握三种就可以了,@import的方法我们不做掌握 1.第一种引入的方法 <!--1.第一种引入css的方法--> <h1 style=& ...
- dede5.7 GBK 在php5.4环境下 后台编辑器无法显示文章内容
问题的原因是:是htmlspecialchars,PHP 5.4后GBK编码下默认不支持中文,转换后内容为空,UTF-8编码没有任何问题. 解决方法如下: 在\include\ckeditor\c ...
- Spring的2.5版本中提供了一种:p名称空间的注入(了解)
1. 步骤一:需要先引入 p 名称空间 * 在schema的名称空间中加入该行:xmlns:p="http://www.springframework.org/schema/p"( ...
- 【深度好文】多线程之WaitHandle-->派生-》Mutex信号量构造
bool flag = false; System.Threading.Mutex mutex = new System.Threading.Mutex(true, "Test", ...
- ffmpeg 入门教程
1.在terminal,安装ffmpeg开源库 #brew install ffmpeg 2.新建一个目录first_ffmpeg,并在first_ffmpeg目录下新建ffmpeg目录 3.拷贝/u ...
- process_进程池
from multiprocessing import Poolimport os,timeimport multiprocessingdef func(msg): print("msg:& ...
- 五个步骤搞定敏捷UX设计
互联网产品发展的速度越来越快,人们对于产品的要求也在不断的升级,这直接地导致了用户体验设计的重要性不断提升.与此同时,过去的流程冗长的设计开发模式已经不能够满足快速迭代的需要.<敏捷宣言> ...
- 写点C++ 学习记录 充数
#include "stdafx.h" #include <cstdlib> #include <iostream> using namespace std ...
- c++中嵌套类,外部类访问内部类的私有成员变量
在嵌套类中,内部类可以直接访问外部类的私有成员变量,但是外部类不能直接访问内部类的私有成员变量,必须把外部类声明为内部类的友元类 /********************************** ...