Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 仅FTP目录列表_C#_Ftp - Fatal编程技术网

C# 仅FTP目录列表

C# 仅FTP目录列表,c#,ftp,C#,Ftp,我试图从ftp获取目录列表,但无法将文件与目录分开 到目前为止,我得到了这个: public static List<string> getDirs() { System.Net.FtpWebRequest ftpRequest = (System.Net.FtpWebRequest)System.Net.WebRequest.Create(path); ftpRequest.Credentials = new System.Net.NetworkCredential

我试图从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;
}
问题是,我永远不知道哪个是目录,哪个是文件。我不能使用正则表达式从列表中删除点之类的字符串,因为我可以简单地将文件夹命名为“x.x”

我找到了一种方法,在那个里我可以简单地用从列表中得到的确切名称创建文件夹。(若文件夹存在,我会得到异常,若不存在,我会创建文件夹),但这个解决方案对我来说不够好


有什么合法的方法可以在FTP上只获取目录列表吗?

你试过了吗?您可以从结果中筛选目录。我查看了Ftp.ListDirectoryDetails,但不确定应该查找什么。这就是我从中得到的例子
drwxr-xr-x 5 hexsrv customer 4096 Nov 5 19:30。
-rw-r--r--1 hexsrv customer 0 Nov 5 19:16 file1.txt
drwxr-xr-x 4 hexsrv customer 4096 Nov 5 19:14 folder1
您可以在这里找到解析列表目录详细信息:或者您尝试过吗?您可以从结果中筛选目录。我查看了Ftp.ListDirectoryDetails,但不确定应该查找什么。这就是我从中得到的例子
drwxr-xr-x 5 hexsrv customer 4096 Nov 5 19:30。
-rw-r--r--1 hexsrv customer 0 Nov 5 19:16 file1.txt
drwxr-xr-x 4 hexsrv customer 4096 Nov 5 19:14 folder1
您可以在此处找到有关解析ListDirectoryDetails的信息:或
folder1
folder3
file1.txt
File2.dat
folder2