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

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

}

}

}

}

以上是 C#读写共享文件夹的方法 的全部内容, 来源链接: utcz.com/z/324333.html

回到顶部