title: Download files from SFTP with SSH.NET library
body: <pre><code>string host = @"ftphost";
  string username = "user";
  string password = "********";
  string localFileName  = System.IO.Path.GetFileName(@"localfilename");
  string remoteDirectory = "/export/";
  using (var sftp = new SftpClient(host, username, password))
  {
      sftp.Connect();
      var files = sftp.ListDirectory(remoteDirectory);
      foreach (var file in files)
      {
          if (!file.Name.StartsWith("."))
          {
              string remoteFileName = file.Name;
              if (file.LastWriteTime.Date == DateTime.Today)
  
              Console.WriteLine(file.FullName);
  
              File.OpenWrite(localFileName);
  
              string sDir = @"localpath";
  
              Stream file1 = File.OpenRead(remoteDirectory + file.Name);
              sftp.DownloadFile(remoteDirectory, file1);
          }
      }
  }
  </code></pre>
  
  <p>I am using SSH.NET (<code>Renci.SshNet</code>) library to work with an SFTP server. What I need to do is grab files from a specific folder on the SFTP server based on today's date. Then copy those files from the SFTP server to a local drive a server of mine.</p>
  
  <p>Above is the code I have but it is not working. Sometimes it says file does not exist but sometimes the files I will be downloading will not be on my local servers but I need to download whatever files were uploaded to the remote folder for that day.</p>
  
  <p>Can someone take a look and see what is wrong? I believe it has something to do with the stream portion. I have worked with FTP much besides uploading files which I took some previous code I had and thought I could reverse the process but that isn't working. The code I used is based off of this <a href="https://sshnet.codeplex.com/wikipage?title=Draft%20for%20Documentation%20page" rel="noreferrer">example</a>.</p>