首页 > 编程 > C# > 正文

C#读写共享文件夹的方法

2019-10-29 21:01:48
字体:
来源:转载
供稿:网友

本文实例为大家分享了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("未能连接!");   }  } }} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到c#教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表