ANDROID:在 Java 中访问 CIFS 共享

     2023-02-18     27

关键词:

【中文标题】ANDROID:在 Java 中访问 CIFS 共享【英文标题】:ANDROID: Accessing CIFS Shares in Java 【发布时间】:2011-06-21 19:27:12 【问题描述】:

我正在编写我的第一个 Android 应用程序,它或多或少会成为挂载点管理器。本地挂载和 NFS 挂载很容易,但我不确定如何处理 CIFS 共享。

理想情况下,选择主机后,会显示 CIFS 共享列表。至少,我应该能够输入 CIFS URI/共享字符串并挂载它(例如://192.168.1.100/mount_point)。我正在考虑 ESstrongs,您可以在其中选择一个主机,它会显示共享,然后您可以进一步探索。

我看到过 jCIFS(我认为这是 Astro 使用的),并且我看到过在 xda-developers 上提到 cifs.ko 模块。还有其他标准方法吗?关于如何使用 jCIFS 或 cifs.ko 并在一般情况下执行此操作的任何提示/建议?我宁愿不必获得 root 访问权限。

【问题讨论】:

很抱歉破坏了你的想法,但它已经完成了market.android.com/details?id=ws.plattner.cifsmanager 但是 cifsmanager 需要 root 权限(并且@EricCoutu 表示不希望获得 root 权限)。 【参考方案1】:

Androider 同志,我过去研究过各种协议,这就是我发现的:

如果必须是 CIFS,那么我会推荐 jCIFS。正如您提到的,Astro 确实使用它,而 EStrons 也使用它。并且... lysesoft 的 AndSMB 也是如此。所以,我很确定这是“转到”标准方法。

如果您正在考虑仅支持 SMB,您可能对此感兴趣: http://java-source.net/open-source/network-clients/jftp

此外,对于其他协议,这是一个值得细读的好列表: http://java-source.net/open-source/network-clients

希望对您有所帮助。

【讨论】:

【参考方案2】:

由于 Android 是 Linux,您可以使用内核驱动程序,但加载这些驱动程序需要 root,或者您可以使用 FUSE,据说自 Gingerbread 以来就支持它(我自己还没有尝试过),或者确实您可以使用 JCIFS 之类的 Java 库

【讨论】:

【参考方案3】:

快速的 Wireshark 捕获显示 EStrons 也使用 jCIFS,所以这也是我的建议。 jCIFS 被编写为 CIFS 客户端工具包,因此它应该能够适应您的项目目标。它本身不会“挂载”远程文件系统,但可以让您访问文件、目录、共享列表等。如何呈现这些信息取决于您。

另一个资源是Implementing CIFS,这是一本关于 SMB/CIFS 协议套件内部结构的在线书籍。特别是看一下Appendix D,它涵盖了 SMB URL 格式。 SMB URL 优于原始帖子(上图)中使用的模拟 UNC 格式。

【讨论】:

在 Docker 容器中挂载 SMB/CIFS 共享

...有一个在Docker容器中运行的Web应用程序。此应用程序需要访问我们公司文件服务器(带有ActiveDirectory域控制器的Windows服务器)上的一些文件。我尝试访问的文件是为我们的客户创建的图像文件,Web应用程序将它们显 查看详情

java示例代码_在android中访问邮件收件箱

java示例代码_在android中访问邮件收件箱 查看详情

samba匿名用戶仅仅唯读访问

...tworkFileSystem)和CIFS(CommonInternetFileSysem)一种或两种文件共享访问协议。NAS的配置方法相对都比较简单,这方面的资料很多,后面附录了NFS和CIFS的配置参数介绍。这里主要解决一个在配置CIFS的遇到的问题。CIFS需求:Security=User,即 查看详情

sh在linux中使用权限挂载cifs(代码片段)

查看详情

java示例代码_在Android应用程序中访问web内容(POST/GET)

java示例代码_在Android应用程序中访问web内容(POST/GET) 查看详情

cifs协议与samba服务

...件系统实现文件共享,需要安装samba服务。它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。CIFS使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。... 查看详情

cifs协议与samba服务

...件系统实现文件共享,需要安装samba服务。它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。CIFS使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。... 查看详情

samba文件共享服务配置(multiuser机制)二(共两节)

...的multiuser挂载技术--管理员只需要作一次挂载--客户端在访问挂载点时,若需要不同权限,可临时切换新的共享用户【无需重新挂载】 实现方式--挂载smb共享时启用multiuser支持--使用cifscreds临时切换身份 挂载参数调整mount.c... 查看详情

如何从 Java/Android 访问 Unity 设置?

】如何从Java/Android访问Unity设置?【英文标题】:HowtoaccessUnitysettingsfromJava/Android?【发布时间】:2019-09-0119:01:32【问题描述】:我在Unity中发布了一个游戏。现在我想用Java/Android发布更新。问题是我想导入现有的游戏设置。在Unityd... 查看详情

使用 Java 和 Samba JCIFS 访问文件

...布时间】:2017-01-1205:15:32【问题描述】:我正在编写一个android应用程序以使用JCIFSsamba库访问Windows共享,但我在newSmbFile(path,auth)上收到了java.net.MalformedURLException。我正在使用带有以下代码的空白活动(接受 查看详情

在要在后台(异步)任务类(Java/Android)中访问的类方法中设置变量

】在要在后台(异步)任务类(Java/Android)中访问的类方法中设置变量【英文标题】:Setavariableinaclassmethodtobeaccessedinabackground(async)taskclass(Java/Android)【发布时间】:2017-04-1613:57:53【问题描述】:我正在尝试设置一个变量\'election_i... 查看详情

cifsnfs

...实现的。   CIFS是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机的服务。CIFS使用客户/服务器模式。客户程序请求远在服务器上的服务器程序 查看详情

unit7&unit9cifs网络文件系统访问;vsftp服务

************************************7.访问网络文件系统***************************************  ****cifs网络文件系统访问*****1.安装个共享访问客户端yuminstallsamba-client-y2.识别共享目录smbclient-L//172.25.254.253 [[ema 查看详情

如何强制 CIFS 连接卸载

】如何强制CIFS连接卸载【英文标题】:HowdoyouforceaCIFSconnectiontounmount【发布时间】:2010-09-0915:10:00【问题描述】:我在Linux机器上安装了一个CIFS共享。CIFS服务器已关闭,或Internet连接已关闭,任何接触CIFS挂载的内容现在都需要几... 查看详情

访问网络文件系统

############################访问网络文件系统############################ ####cifs网络文件系统访问####    CIFS是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。CIFS使用客户/服务... 查看详情

搭建文件共享服务器(代码片段)

...录前言需要准备的工作一、搭建文件共享服务器二、用户访问测试三、关闭共享的文件前言我们都知道ftp服务,一般学校在机房老师共享文件都是用的这个。但是还有一个微软自带的一个协议也可以共享文件。以此来搭建一... 查看详情

从 Java 程序访问 NFS 共享

】从Java程序访问NFS共享【英文标题】:AccessNFSsharefromJavaprogram【发布时间】:2009-12-0802:59:55【问题描述】:我想从我的Java程序的NFS共享中读取一些数据。我需要程序首先对NFS服务器进行身份验证,然后执行I/O。(要求之前安装NF... 查看详情

如何在 Android 6.0 Marshmallow 中访问相机?

】如何在Android6.0Marshmallow中访问相机?【英文标题】:HowtoAccessCamerainAndroid6.0Marshmallow?【发布时间】:2016-07-2020:02:51【问题描述】:我是Android6.0编码新手,请提供以下代码的解决方案:当我提供像READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STO... 查看详情