I don't think you're too far off. Other than the incomplete line, I don't see much that won't work there. Are you getting an error?
Here's[
^] some code very close to what you're doing (halfway down).
Edit:
Try this instead...don't go with a StreamReader, just use the Stream.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://ftp01/temp.exe");
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.Credentials = new NetworkCredential("admin", "1234");
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
FileStream file = File.Create(@"c:\temp\temp.exe");
byte[] buffer = new byte[32 * 1024];
int read;
while ((read = responseStream.Read(buffer, 0, buffer.Length)) > 0)
{
file.Write(buffer, 0, read);
}
file.Close();
responseStream.Close();
response.Close();
Cheers.