我有一个ftp路径ftp://10.23.XX.XX/IN
,在IN
文件夹中,我还有十个文件夹,分别是ES
,US
,UK
等。在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()){}
[如果您想以以前的方式使用它:
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之类的第三方库,在其中您将按照您的需要做简单的事情:
FTPFile[] elementy = ftpConnection1.GetFileInfos();
foreach (FTPFile elem in elementy)
{
if (elem.Dir)//true if item is Directory
{
//something
}
}