【发布时间】:2012-07-19 10:53:46
【问题描述】:
对于 ftp 路径说ftp://ftp.something.com/,我可以使用此代码列出所有目录:
WebRequest req = WebRequest.Create(url) as WebRequest;
req.Method = WebRequestMethods.Ftp.ListDirectory;
//code to get response from ftp site and list all files and directories path in a list name name_list.
现在 foreach 来自列表 name_list 的路径,如果路径是目录,那么我将该路径添加到列表名称 sub_list 中,否则如果它是某个文件的路径(.txt、.pdf、.rar、.html、.tw 和更多扩展名)然后将该路径添加到另一个列表名称 final_list 中。 到目前为止,我能做的是:
foreach(string url in name_list)
{
if (Regex.IsMatch(url, ".*?" + @"(\.[A-Za-z]{2,4}$)"))
//add to sub_list
else
//add to final_list
}
但这不是实现我的目标的可靠且稳健的方法。 有没有其他最好的方法。
【问题讨论】:
-
因为
ListDirectory实际上是一个“FTP NLIST”命令,你可以看看this similar SO question。