C#读写共享文件夹

it2022-05-05  79

该试验分以下步骤:

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#访问网络共享文件夹的方法

最新回复(0)