C#读写共享文件夹

该试验分以下步骤:

1、在服务器设置一个共享文件夹,在这里我的服务器ip地址是10.80.88.180,共享文件夹名字是test,test里面有两个文件:good.txt和bad.txt,访问权限,用户名是admin,密码是admin。

2、新建一个webapplication项目,在前台页面加一个listbox,ID是ListBox1.

3、添加后台代码如下:其中包含的功能是读文件,这里以读good 文件为例;写文件,这里以写bad文件为例;还有是将test文件夹下的文件名列到listbox中。 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Diagnostics;
using System.IO;


namespace WebApplication2
{

     public  class FileShare
    {
         public FileShare() { }

         public  static  bool connectState( string path)
        {
             return connectState(path, "", "");
        }

         public  static  bool connectState( 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;
        }


         // read file
         public  static  void ReadFiles( string path)
        {
             try
            {
                 //  Create an instance of StreamReader to read from a file.
                
//  The using statement also closes the StreamReader.
                 using (StreamReader sr =  new StreamReader(path))
                {
                    String line;
                     //  Read and display lines from the file until the end of 
                    
//  the file is reached.
                     while ((line = sr.ReadLine()) !=  null)
                    {
                        Console.WriteLine(line);
                        
                    }
                }
            }
             catch (Exception e)
            {
                 //  Let the user know what went wrong.
                Console.WriteLine( " The file could not be read: ");
                Console.WriteLine(e.Message);
            } 

        }

         // write file
         public  static  void WriteFiles( string path)
        {
             try
            {
                 //  Create an instance of StreamWriter to write text to a file.
                
//  The using statement also closes the StreamWriter.
                 using (StreamWriter sw =  new StreamWriter(path))
                {
                     //  Add some text to the file.
                    sw.Write( " This is the  ");
                    sw.WriteLine( " header for the file. ");
                    sw.WriteLine( " ------------------- ");
                     //  Arbitrary objects can also be written to the file.
                    sw.Write( " The date is:  ");
                    sw.WriteLine(DateTime.Now);
                }
            }
             catch (Exception e)
            {
                 //  Let the user know what went wrong.
                Console.WriteLine( " The file could not be read: ");
                Console.WriteLine(e.Message);
            }
        }
    }

     public  partial  class _Default : System.Web.UI.Page
    {
         protected  void Page_Load( object sender, EventArgs e)
        {
            
             bool status =  false;

             // 连接共享文件夹
            status = FileShare.connectState( @" \\10.80.88.180\test "" admin "" admin ");
             if (status)
            {
                DirectoryInfo theFolder =  new DirectoryInfo( @" \\10.80.88.180\test ");

                 // 先测试读文件,把目录路径与文件名连接
                 string filename = theFolder.ToString()+ " \\good.txt ";
                FileShare.ReadFiles(filename);

                 // 测试写文件,拼出完整的路径
                filename = theFolder.ToString() +  " \\bad.txt ";
                FileShare.WriteFiles(filename);
               
                 // 遍历共享文件夹,把共享文件夹下的文件列表列到listbox
                 foreach (FileInfo nextFile  in theFolder.GetFiles())
                {
                    ListBox1.Items.Add(nextFile.Name);
                }
            }
             else
            {
                ListBox1.Items.Add( " 未能连接! ");
            }
        }
    }

按以上步骤,即可实现读写网络共享文件。

转载于:https://www.cnblogs.com/ManMonth/archive/2011/10/11/2206998.html

你可能感兴趣的:(C#读写共享文件夹)