C#读写共享文件夹

来源:互联网 发布:购买一个域名要多少钱 编辑:程序博客网 时间:2024/05/16 08:49

该试验分以下步骤:

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("未能连接!");            }        }    }}

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

注意写文件需要添加everyone相关权限

原创粉丝点击