1

我有一个 ftp 路径ftp://10.23.XX.XX/IN,在该IN文件夹内我还有十个文件夹,它们是ESUSUK。在 C# 中,我只想读取文件夹名称而不是里面的文件。你能告诉我怎么做吗?

此外,我使用了更多网站,它告诉我去,GetResponseStream但我无法找到正确的代码来获取目录。

我尝试使用的代码如下:

FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://10.23.xx.xx/IN");
         request.Credentials = new NetworkCredential("ABC", "ABC");
         //request.Method = WebRequestMethods.Ftp.PrintWorkingDirectory.All<request.>;
         // request.Method = WebRequestMethods.Ftp.ListDirectory;
         request.Proxy = null ;
         using (FtpWebResponse response = (FtpWebResponse)request.GetResponse()){}
4

1 回答 1

0

如果您想以我曾经这样做的方式使用它:

    request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
    FtpWebResponse response = request.GetResponse() as FtpWebResponse;
    Stream responseStream = response.GetResponseStream();
    StreamReader reader = new StreamReader(responseStream);
    while ((sSource = reader.ReadLine()) != null)
            {something}

但我强烈建议使用 edtFTPnet.dll 之类的 3rd 方库,您可以在其中简单地执行您需要的操作:

FTPFile[] elementy = ftpConnection1.GetFileInfos();
foreach (FTPFile elem in elementy)
{
  if (elem.Dir)//true if item is Directory
   {
//something
    }
 }
于 2012-09-19T10:19:16.970 回答