C#读写共享目录

C#读写共享目录

该试验分下面步骤:

1、在server设置一个共享目录。在这里我的serverip地址是10.80.88.180,共享目录名字是test,test里面有两个文件:good.txt和bad.txt,訪问权限,username是admin,password是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( " 未能连接。 ");
            }
        }
    }

复制代码

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值