FTP 传输案例

来源:互联网 发布:php与mysql程序设计 编辑:程序博客网 时间:2024/06/04 18:51
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.IO;
using System.Threading;


namespace CollectFTP {
    class Program {
        static void Main(string[] args) {
            try {
                Process p = new Process();
                p.StartInfo.FileName = "ftp";
                p.StartInfo.RedirectStandardInput = true;
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.RedirectStandardError = true;
                p.StartInfo.CreateNoWindow = false;
                p.StartInfo.UseShellExecute = false;
                p.Start();


                StreamWriter swi = p.StandardInput;
                StreamReader swr = p.StandardOutput;


                string[] cmd = { 
                           "open",
                           "192.168.248.131",
                           "ank",
                           "1",
                           "dir"};


                for (int i = 0; i < cmd.Length; i++) {
                    string result = SendCmd(swr, swi, cmd[i]);
                    Console.WriteLine(result);
                }
                Console.WriteLine("完成");
                Console.ReadLine();
            }
            catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
        }


        static string SendCmd(StreamReader sr, StreamWriter sw, string cmd) {
            Console.WriteLine(cmd);
            sw.Write(cmd + "\r\n");
            sw.Flush();
            Thread.Sleep(500);
            StringBuilder sb = new StringBuilder(UInt16.MaxValue);
            for (; sr.Peek() > 0; ) {
                char c = (char)sr.Read();
                sb.Append(c.ToString());
            }


            return sb.ToString();
        }
    }
}
0 0
原创粉丝点击