1. 程式人生 > >C# 讀取共享目錄檔案

C# 讀取共享目錄檔案

建立連線

public static bool connectShareDoc(string path, string userName, string passWord)
    {
        bool Flag = false;
        Process proc = new Process();
        try
        {
            proc.StartInfo.FileName = "cmd.exe";
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.RedirectStandardInput = true;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.RedirectStandardError = true;
            proc.StartInfo.CreateNoWindow = true;
            proc.Start();
            string dosLine = @"net use " + path + " /User:" + userName + " " + passWord + " /PERSISTENT:YES";
            proc.StandardInput.WriteLine(dosLine);
            proc.StandardInput.WriteLine("exit");
            while (!proc.HasExited)
            {
                proc.WaitForExit(1000);
            }
            string errormsg = proc.StandardError.ReadToEnd();
            proc.StandardError.Close();
            if (string.IsNullOrEmpty(errormsg))
            {
                Flag = true;
            }
            else
            {
                throw new Exception(errormsg);
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            proc.Close();
            proc.Dispose();
        }
        return Flag;
    }

刪除連線

public bool DisposeConnect()
    {
        bool Flag = false;
        Process proc = new Process();
        try
        {
            //Process.Start("cmd.exe", "/k Net Use * /del /y");

            proc.StartInfo.FileName = "cmd.exe";
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.RedirectStandardInput = true;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.RedirectStandardError = true;
            proc.StartInfo.CreateNoWindow = true;
            proc.Start();
            string dosLine = @"net use * /del /y";
            proc.StandardInput.WriteLine(dosLine);
            proc.StandardInput.WriteLine("exit");
            while (!proc.HasExited)
            {
                proc.WaitForExit(1000);
            }
            string errormsg = proc.StandardError.ReadToEnd();
            proc.StandardError.Close();
            if (string.IsNullOrEmpty(errormsg))
            {
                Flag = true;
            }
            else
            {
                throw new Exception(errormsg);
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            proc.Close();
            proc.Dispose();
        }
        return Flag;
    }

讀取檔案

bool result = connectShareDoc(@"\\192.168.0.101\Files", “admin”, “123456”);
        if (result)
        {
            DirectoryInfo theFolder = new DirectoryInfo(@"\\192.168.0.101\Files"); 
            using (StreamReader sr1 = new StreamReader( @"\\192.168.0.101\Files\1_1000315002584.xml"))
            {
                String line;
                // Read and display lines from the file until the end of 
                // the file is reached.
                while ((line = sr1.ReadLine()) != null)
                {

                }
                FileStream fileReader1 = File.OpenRead(path + "1_1000315002584.xml");

            }

        }