读写网上邻居共享的文件夹,和操作本地文件夹类似,只要有权限读取写入即可。

分为以下2步:

1.打通共享文件夹权限

2.操作文件

打通共享文件夹权限

         /// <summary>
/// 连接共享文件
/// </summary>
/// <param name="path">共享文件地址</param>
/// <param name="userName">用户名</param>
/// <param name="passWord">密码</param>
/// <returns>true:连接成功 false:连接失败</returns>
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();
}
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;
}

创建文件夹

 DirectoryInfo dirInfo = new DirectoryInfo("\\WIN-R3377JMR1LG\ShareFolder");
if (dirInfo.Exists == false)
{
dirInfo.Create();
}

上传文件

         /// <summary>
/// 上传文件到共享文件夹
/// </summary>
/// <param name="sourceFile">本地文件</param>
/// <param name="remoteFile">远程文件</param>
public static void UpLoadFile(string sourceFile, string remoteFile)
{
//判断文件夹是否存在 ->不存在则创建
var targetFolder = Path.GetDirectoryName(remoteFile);
DirectoryInfo theFolder = new DirectoryInfo(targetFolder);
if (theFolder.Exists == false)
{
theFolder.Create();
} try
{
WebClient myWebClient = new WebClient();
NetworkCredential cread = new NetworkCredential();
myWebClient.Credentials = cread; using (FileStream fs = new FileStream(sourceFile, FileMode.Open, FileAccess.Read))
{
using (BinaryReader r = new BinaryReader(fs))
{
byte[] postArray = r.ReadBytes((int)fs.Length);
using (Stream postStream = myWebClient.OpenWrite(remoteFile))
{
if (postStream.CanWrite == false)
{
LogUtil.Error($"{remoteFile} 文件不允许写入~");
return;
} postStream.Write(postArray, , postArray.Length);
}
}
}
}
catch (Exception ex)
{
string errMsg = $"{remoteFile} ex:{ex.ToString()}";
LogUtil.Error(errMsg);
Console.WriteLine(errMsg);
}
}

C# 读写网上邻居中的共享文件的更多相关文章

  1. server2003中看不到网上邻居内容,其他电脑无法通过计算机名和IP访问本计算机(但网上邻居中可访问到)

    现象1:server2003中看不到网上邻居内容,查看工作组计算机看到的是空列表, 现象2:其他电脑无法通过计算机名和IP访问本计算机(但网上邻居中可访问到)   访问提示:--Windows 200 ...

  2. Win7新建ftp快捷方式(原XP网上邻居中客户端图标)

      2014-6-2 XP逐渐隐退,新机器一般都是Win7或者Win8了.有很多朋友反映在这两个新系统中找不到类似XP网上邻居中的ftp链接图标.故稍微研究了下,以Win7为例,总结如下. 1.骨灰级 ...

  3. ubuntu如何实现访问实际网络中windows共享文件夹

    方法一: 首先在建立一个挂载目录. sudo mkdir /mnt/share 然后就把共享目录持载进去. 服务器:192.168.6.84 共享名:gg 用户名:administrator 密 码: ...

  4. 深入了解"网上邻居"原理

    说到“网上邻居”,相信很多人都很熟悉.但是说起“网上邻居”的工作机制,可能大家就不太清楚了. 要说“网上邻居”的工作机制,不妨联系一下生活中的例子:比如我(A),要拜访一个远方的朋友(B),我要去他的 ...

  5. Win7网上邻居提示未授予用户在此计算机上的请求登录类型解决办法

        内容简介 装了Win7之后很多人遇到这样的问题,网上邻居访问Win7的电脑时出现“未授予用户在此计算机上的请求登录类型”问题.打开“控制面板”--“管理工具”--“本地安全策略”--“本地策略 ...

  6. 在Ubuntu 12.04安装和设置Samba实现网上邻居共享

    转载:http://www.startos.com/ubuntu/tips/2012031333097.html          有微小改动. Samba 是一款功能强大的共享工具,可以实现与win ...

  7. Win8无法访问xp共享的解决方法——win8网上邻居访问别的xp电脑要用户名和密码取消方法

    新装win8,原来的win7正常连接xp下载机的共享,但在win8下进网上邻居却无法访问xp的共享,显示”用户名或密码不正确”,而密码明明是对的如图所示: 解决方法: 按Win+R启动运行,输secp ...

  8. Win10无法访问网上邻居电脑共享的文件夹怎么办

    Win10无法访问网上邻居电脑共享的文件夹怎么办 现在许多电脑上装的都是Win系统,Win10无法访问网上邻居电脑共享的文件夹怎么办呢?下面小编为大家介绍下解决的方法吧! 1点击桌面上的“此电脑”图标 ...

  9. 在Windows Server 2008的桌面上显示“我的电脑”“网上邻居”等图标?

    装完windows server2008 r2 x64后发现桌面只有一个“回收站”图标,如何把“我的电脑”“网上邻居”等图标添加到桌面呢?操作步骤: 1. 点击 开始 在搜索中输入 icon 2. 点 ...

随机推荐

  1. Objective-C:MRC(引用计数器)在OC内部的可变对象是适用的,不可变对象是不适用的(例如 NSString、NSArray等)

    引用计数和字符串 内存中的常量字符串的空间分配与其他对象不同,他们没有引用计数机制 凡是自定义的对象都有引用计数机制: OC内部中对象分为可变对象(NSMutableString等)和不可变对象(NS ...

  2. 用过Retina视网膜屏幕的笔记本电脑的后果

    用过Retina视网膜屏幕的笔记本电脑的后果是过程中感觉很不错,但是结果是普通屏幕再也看不上眼了.发现了原来看的好好的屏幕多出了许多的像素点,没办法,火眼金睛了.

  3. html 中shadow DOM 的使用

    什么是shadow DOM? An important aspect of web components is encapsulation — being able to keep the marku ...

  4. [Backbone] Verying Views

    Below we have our AppointmentsView instance rendering and then taking the rendered HTML and insertin ...

  5. sqoop安装部署(笔记)

    sqoop是一个把关系型数据库数据抽向hadoop的工具.同时,也支持将hive.pig等查询的结果导入关系型数据库中存储.由于,笔者部署的hadoop版本是2.2.0,所以sqoop的版本是:sqo ...

  6. C语言打印字母金字塔(第一行是A 第二行是ABA ……)

    #include <stdio.h> #include <stdlib.h> int main() { int line;//代表行数 int i; char letter,c ...

  7. Linux文件类型(学习笔记六)

    一.Linux下的文件类型 普通文件:在由 ls –al 所显示出来的属性方面,第一个属性为 [ - ] 目录文件:在由 ls –al 所显示出来的属性方面,第一个属性为 [ d ] 设备文件:一般都 ...

  8. Fiddler Session标志

    Each Session object in Fiddler contains a collection of string flags, in the Session.oFlags[] collec ...

  9. VB LISTBOX属性

    additem 添加属性 listcount总记录数 listindex索引值 Private Sub Form_Load()List1.AddItem "广东省广州市"List1 ...

  10. openerp 中文乱码及界面翻译不全

    openerp中文报表乱码问题,即是字体问题,环境是ubuntu 12.04 openerp 6.1, deb all in one安装方式 一.cd usr/share/fonts/truetype ...