使用c#确定ftp URL是目录名还是文件

时间:2012-07-19 10:53:46

标签: c# ftp

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

现在从列表name_list预先路径,如果path是一个目录,那么我在列表名称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
}

但这不是实现我的目标的可靠而有力的方法。 还有其他最好的办法吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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