Why this code is repeating files in listbox?

Total Post:134

Points:940
C# 
C#
 1156  View(s)
Ratings:
Rate this:

I want to list all files from my ftp folder, I am using this code. But it gives me twice the name of files. What is wrong with it?

private void ListFilesOnServer()
        {
            try
            {
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ConfigurationSettings.AppSettings.Get("IncomingFtpPath"));
                request.Credentials = new NetworkCredential("user", "password");
                request.Method = WebRequestMethods.Ftp.ListDirectory;
                FtpWebResponse response = (FtpWebResponse)request.GetResponse();
                Stream responseStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(responseStream);
                while (!reader.EndOfStream)
                {
                    var line = reader.ReadLine();
                    if (System.IO.Path.GetExtension(line) == ".xml")
                    {
                        WaitingListBox.Items.Add(System.IO.Path.GetFileNameWithoutExtension(line));
                    }
                }
                reader.Close();
                response.Close();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }

  1. Post:412

    Points:2888
    Re: Why this code is repeating files in listbox?

    Hi Tanuj, 


    private void ListFilesOnServer()
    {
            try
            {
         FtpWebRequest request =(FtpWebRequest)WebRequest.Create(ConfigurationSettings.AppSettings.Get("IncomingFtpPath"));
                request.Credentials = new NetworkCredential("user","password");
                request.Method= WebRequestMethods.Ftp.ListDirectory;
                FtpWebResponse response = (FtpWebResponse)request.GetResponse();
                using(StreamReader reader = new StreamReader(response.GetResponseStream())
                {
                   string line = null;
                   while((line = reader.ReadLine()) != null)
                   {
                    if (System.IO.Path.GetExtension(line) == ".xml")
                    {
                      WaitingListBox.Items.Add(System.IO.Path.GetFileNameWithoutExtension(line));
                    }
                   }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
                // throw e
            }

      Modified On Apr-04-2018 05:52:37 AM

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!