How to List Directory Contents with FTP in C# ?
I am using below code to List Directory Contents with FTP it is returning result in XML format ,but i want only the name of directory not the whole content.
How i Can do that ?
public class WebRequestGetExample
{
public static void Main ()
{
// Get the object used to communicate with the server.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/");
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
// This example assumes the FTP site uses anonymous logon.
request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
Console.WriteLine(reader.ReadToEnd());
Console.WriteLine("Directory List Complete, status {0}", response.StatusDescription);
reader.Close();
response.Close();
}
}
If you want to list the name of the files that are inside de directory, you have to put (reqFTP.Proxy = null;) before you invoke (reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;).
Hope this can help you!
There is a method GetDirectoryInformation() in following link which fetches files and directories recursively from a FTP directory.
Getting files from FTP directory recursively
Some proxies reformat the directory listing, so it's quite difficult to parse a directory listing reliably unless you can guarantee that the proxy doesn't change
You need ListDirectory that lists the directory contents
EDIT: Or you can use this Chilkat library that wraps it up nicely for you
Try this:
It gave me a list of directories... all listed in the directories string list... tell me if that is what you needed
You are probably looking for PrintWorkingDirectory