1

对于 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
}

但这不是实现我的目标的可靠和稳健的方式。有没有其他最好的方法。

4

2 回答 2

0

您可以查看文件权限以查看它是否是目录。请参考以下示例:

http://www.copyandwaste.com/posts/view/parsing-webrequestmethodsftplistdirectorydetails-and-listdirectory/

于 2012-07-19T11:41:36.780 回答
0

我会使用 System.IO.Path 类来确定它是路径还是文件。具体来说:http: //msdn.microsoft.com/en-us/library/system.io.path.getfilename.aspx

于 2012-07-19T11:05:11.923 回答