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

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

(0)

相关推荐

  • 解析使用C# lock同时访问共享数据

    经常碰到同时需要对某个数据进行操作,或者对某个文件进行读写操作,对于这些操作我们以前往往不能很好的进行处理,自从C#语言中引入了lock这个关键字,以上问题就比较容易予以解决了,下面就是一段简单的代码. 复制代码 代码如下: public class AccessControl(){    private static object privateObjectLock = new object();    public static AccessResult()    {       lock(

  • C#如何访问共享文件夹或者磁盘

    本文实例为大家分享了C#访问共享文件夹或者磁盘的具体代码,供大家参考,具体内容如下 SharedTool: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace ConsoleApplication5 { public class SharedTool : IDisposable {

  • C#访问网络共享文件夹的方法

    本文实例为大家分享了C#访问网络共享文件夹的具体代码,供大家参考,具体内容如下 using System.Runtime.InteropServices; public enum ERROR_ID { ERROR_SUCCESS = 0, // Success ERROR_BUSY = 170, ERROR_MORE_DATA = 234, ERROR_NO_BROWSER_SERVERS_FOUND = 6118, ERROR_INVALID_LEVEL = 124, ERROR_ACCESS

  • C#如何连接服务器共享文件夹

    本文实例为大家分享了C#连接服务器共享文件夹的具体代码,供大家参考,具体内容如下 public class ClassConnWin { /// <summary> /// 连接共享文件夹 /// </summary> /// <param name="path">共享路径</param> /// <param name="user">用户名</param> /// <param name

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

    本文实例为大家分享了C#读写共享文件夹的具体代码,供大家参考,具体内容如下 该试验分以下步骤: 1.在服务器设置一个共享文件夹,在这里我的服务器ip地址是10.80.88.180,共享文件夹名字是test,test里面有两个文件:good.txt和bad.txt,访问权限,用户名是admin,密码是admin. 2.新建一个webapplication项目,在前台页面加一个listbox,ID是ListBox1. 3.添加后台代码如下:其中包含的功能是读文件,这里以读good 文件为例:写文件,

  • Java读写Windows共享文件夹的方法实例

    项目常常需要有访问共享文件夹的需求,例如共享文件夹存储照片.文件等.那么如何使用Java读写Windows共享文件夹呢? Java可以使用JCIFS框架对Windows共享文件夹进行读写,就这个框架可以让我们像访问本地文件夹一下访问远程文件夹. JCIFS的网址: http://jcifs.samba.org/ JCIFS是使用纯Java开发的一个开源框架,通过smb协议访问远程文件夹.该框架同时支持Windows共享文件夹和Linux共享文件夹,不过,Linux共享文件夹需要安装Samba服务

  • Ubuntu samba下配置共享文件夹的方法

    文件放在ubuntu下,通过samba共享到windows,避免windows下不支持软链接的问题. 虚拟机安装的ubuntu系统,联网方式为NAT # 更新源 sudo apt-get update # 安装samba sudo apt-get install samba samba-common sudo apt-get install cifs-utils<strong> </strong> # 创建共享的目录 sudo mkdir /home/share sudo chmo

  • python 与服务器的共享文件夹交互方法

    需求:从服务器拷贝照片到本地,然后再从本地照片筛选照片. 问题:从服务器拷贝到照片本地,太慢,速度只有20~30K,不能忍. 然后想到,利用python直接从服务器的共享文件夹筛选照片. 本以为还要什么socket通信之类,没想到只需将服务器共享文件夹地址当作本地电脑路径就万事大吉了.只需注意路径地址中的正反斜杠即可. 直接从window文件夹地址复制的路径如下: path = "\\11.64.222.50\dataPic" 若不经修改,会报IO error的错误. 改成 path

  • 详解VirtualBox中与主机共享文件夹的方法(图文)

    安装VirtualBox为了共享文件夹,折腾了一晚上!网上的很多资料都不是很全面,这里就全面的总结一下,如果有其他的疑问,可以留言多多交流. VirtualBox下载地址,版本为5.1.2 设置共享文件路径 点击虚拟机 设置-->选择 共享文件夹 (图1 设置共享文件夹) 设置共享文件夹路径 1 选择路径 2 填写自定义的共享名称(在后面需要与挂载路径相对应) 3 设置自动挂载/固定分配 (图2 设置共享文件路径属性) 安装VirtualBox增强工具 先安装必备的包 执行下面的命令: yum

  • ASP.NET访问共享文件夹的详细步骤

    假设找找看的ASP.NET程序在A服务器,索引文件在B服务器的ZzkIndex共享文件夹中,访问地址是\\192.168.18.18\ZzkIndex\.要实现就是在A服务器的ASP.NET程序中能读写共享文件夹\\192.168.18.18\ZzkIndex\中的文件. 具体操作步骤: (注:A服务器为ASP.NET程序所在服务器,B服务器为共享文件夹所在服务器) ①在两台服务器上建立相同用户名.相同密码的Windows帐户(A与B服务器都要建),比如假设这里用户名是ZzkIndexer,密码

  • VirtualBox 共享文件夹权限设置及使用方法

    VirtualBox 共享文件夹权限设置及使用方法 环境: 主机(host):windowsXP 虚拟机:VirtualBox 客户机 (guest):slackware/ubuntu/... 看过我上一篇写的为VirtualBox 安装additions的朋友应该很清楚,设置VirtualBox共享文件夹之前需要安装VirtualBox Guest Additions.如果没有安装,请参考我的上一篇文章. 共享文件夹就是使主机的wendows和客户机linux能彼此共享文件.在当前的架构情况下

  • 用vbs实现的确定共享文件夹的本地路径?

    如何确定共享文件夹的本地路径? 问: 您好,脚本专家!如果有 UNC 路径(例如 \\server1\test),可以使用脚本确定共享文件夹(例如 C:\Scripts\Test 文件夹)的本地路径吗? -- JVK 答: 您好,JVK.是的,您说得没错 噢,对了:我们几乎忘了.您能使用脚本确定共享文件夹的本地路径吗?您当然可以(尽管我们不知道为什么在棒球赛季期间还有人有闲心做这些).但如果这确实是您想要做的,那么这就告诉您该如何去做: 复制代码 代码如下: strPath = "\\atl-f

  • 服务器共享文件夹设置软件、文件共享服务器软件和共享文件夹加密工具的选择

    当前,很多企业都在局域网搭建了文件服务器,用于共享文件供局域网用户访问使用,并且很多共享文件都是单位积累的无形资产和商业机密,如何在允许员工访问服务器共享文件的同时还能保证服务器的安全呢?防止员工复制共享文件.将共享文件另存为本地以及不小心或恶意删除共享文件呢?总结起来,可以通过以下途径来实现:     方法一.通过操作系统的文件权限设置功能来分配不同用户访问共享文件的不同访问权限. 具体方法如下: 1. 打开"我的电脑"->"工具"->"文件

随机推荐