如何使用 C# 从 Ubuntu/Samba 读取共享文件?

Posted

技术标签:

【中文标题】如何使用 C# 从 Ubuntu/Samba 读取共享文件?【英文标题】:How to read shared file from Ubuntu/Samba using C#? 【发布时间】:2011-09-04 21:29:39 【问题描述】:

我在网络的 ubuntu/samba 服务器上有共享文件夹。

我在 Vista 上运行我的 c# 代码,那么如何读取在 ubuntu/samba 服务器上共享的文件?

我的代码:

String errorLogFile = @"\\\\198.168.0.2\\sharedfolder\myfile.wmv";

//throws excetion login fail
StreamReader sr = new StreamReader(errorLogFile);

sr.Read();

streamWriter.Close();

【问题讨论】:

你试过什么?问题/错误是什么?什么是 ubantu 和 sambha(修辞)? 15k 代表主要来自答案,您应该重视一个好问题! 认为你的意思是 ubuntu 和 samba? @ Daniel - 是的,它的 ubuntu 和 samba ......我试图像在 Windows 机器上那样读取文件,但它显示不存在文件...... y -1 ?问题有什么问题吗? @Daniel - 无论如何都可以解决我的问题...... 【参考方案1】:

使用this answer 中提供的代码来验证您的远程目录代码。

更新: 此外,转义反斜杠和逐字字符串的组合是一个坏主意。使用其中之一,但不能同时使用。 此外,您在共享文件夹名称后缺少反斜杠。 应该是这样的:

String errorLogFile = @"\\198.168.0.2\sharedfolder\" + finaldate + ".wmv";

【讨论】:

【参考方案2】:

如果共享配置正确,您应该能够像访问 Windows 共享一样通过 \\ubuntumachine\sambasharename 访问它。

【讨论】:

我正在这样做,但它说“登录失败”..如何避免它...我必须使用 winows 模拟吗?? 所以您可能使用了错误的登录凭据。在怀疑您的代码不正确之前先验证这些。 @Cody Gray - 如果我使用 Windows 模拟 libaray 它将适用于 unbuntu 吗??

以上是关于如何使用 C# 从 Ubuntu/Samba 读取共享文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C# 自动化从访问数据库(.accdb)中读取所有记录

ubuntu + samba 共享失败

如何使用 C# 从 sql server 读取时间戳类型的数据?

如何从 TwinCat 读取包含结构数组的结构到 C#

如何从文件/ url c#中读取值

如何使用 C# 将 InkML 文件读取为图像或文本