C# 仅FTP目录列表
我试图从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
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.txtdrwxr-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.txtdrwxr-xr-x 4 hexsrv customer 4096 Nov 5 19:14 folder1
您可以在此处找到有关解析ListDirectoryDetails的信息:或
folder1
folder3
file1.txt
File2.dat
folder2