如何只获取ftp的文件夹名称列表而不是该文件夹的文件名称,假设我有4个文件夹(A,B,C,D)我想获得4个文件夹名称而不是文件?在c#中工作。
我见过提供文件列表的代码。
我试过这段代码,它给了我文件名和文件夹名,但我只需要文件夹名。
此致 海德尔
答案 0 :(得分:1)
试试这个
string HtmlResult = String.Empty;
Console.WriteLine("Starting listing of files....");
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(Properties.Settings.Default.FtpUrl);
request.Credentials = new NetworkCredential(Properties.Settings.Default.FtpUsername, Properties.Settings.Default.FtpPassword);
request.UsePassive = false;
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
using (Stream responsestream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(responsestream))
{
string _line = reader.ReadLine();
while (_line != null && _line != String.Empty)
{
HtmlResult += _line;
_line = reader.ReadLine();
}
}
}
//parse html output
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(HtmlResult);
foreach (HtmlAgilityPack.HtmlNode node in doc.DocumentNode.SelectNodes("//a[@href]"))
{
if(node.InnerText.Contains(".txt")) FtpListing.Add(node.InnerText);
}
Console.WriteLine("{0} Files found", FtpListing.Count);