我试图从ftp获取目录列表,但我无法从目录中分离文件。
到目前为止我得到了这个:
public static List<string> getDirs()
{
System.Net.FtpWebRequest ftpRequest = (System.Net.FtpWebRequest)System.Net.WebRequest.Create(path);
ftpRequest.Credentials = new System.Net.NetworkCredential(name, pass);
ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
System.Net.FtpWebResponse response = (System.Net.FtpWebResponse)ftpRequest.GetResponse();
System.IO.StreamReader streamReader = new System.IO.StreamReader(response.GetResponseStream());
List<string> directories = new List<string>();
string line = streamReader.ReadLine();
while (!string.IsNullOrEmpty(line))
{
directories.Add(line);
line = streamReader.ReadLine();
}
streamReader.Close();
return directories;
}
我的结果如下:
folder1
folder3
file1.txt
File2.dat
folder2
问题是,我永远不知道哪个是目录,哪个是文件。我无法使用正则表达式从列表中删除字符串,其中包含点或类似的东西,因为我只能将文件夹命名为&#34; x.x&#34;
我找到了一种方法,我可以简单地创建具有从列表中获取的确切名称的文件夹。 (如果文件夹存在我得到异常,如果不是我创建文件夹)但这个解决方案对我来说不够好。
有没有合法的方法如何在FTP上只获取目录列表?