提取FTP下所有文件(包括子目录下的文件)

sw34190 2009-04-13 02:44:36
如题:

StringBuilder result = new StringBuilder();
FtpWebRequest ftp;
ftp = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/"));
ftp.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
ftp.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
WebResponse response = ftp.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string line = reader.ReadLine();
while (line != null)
{
result.Append(line);
result.Append("\n");
line = reader.ReadLine();
}

result.Remove(result.ToString().LastIndexOf("\n"), 1);
reader.Close();
response.Close();
return result.ToString().Split('\n');

以上代码仅能显示根目录下的子文件夹和文件,不能得到子文件夹里的文件;
请问该如何实现,谢谢大家。
...全文
269 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cseek 2009-04-18
  • 打赏
  • 举报
回复
在循环里判断文件类型,如果是文件夹,则递归调用该方法。
wangkuang5 2009-04-18
  • 打赏
  • 举报
回复
不要用FtpWebRequest

LumiSoft.Net这是个通信协议栈类库,
他能更好的帮你搞定

你的问题在于FtpWebRequest 发送的ftp命令不是LIST -l只有List命令
所以只会有根目录
指间的风 2009-04-13
  • 打赏
  • 举报
回复
依然是递归
wuyq11 2009-04-13
  • 打赏
  • 举报
回复
通过方法递归获取
深海之蓝 2009-04-13
  • 打赏
  • 举报
回复
递归
018 2009-04-13
  • 打赏
  • 举报
回复
递归

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧