1.说明

为什么说是冷知识,因为大多数项目用不到,所以归类为冷知识。

本文主要介绍如何通过手机来浏览同局域网内电脑上的文件或者同局域网内其他存储设备上的文件(存储设备有SMBA服务)。

2.用到的资源:

3.简单使用

a.去官网下载最新的"jcifs-1.3.18.jar"并引入项目中去。

b.在自己的Application onCreate中设置基础配置

System.setProperty("jcifs.smb.client.dfs.disabled", "true");

System.setProperty("jcifs.smb.client.soTimeout", "1000000");

System.setProperty("jcifs.smb.client.responseTimeout", "30000");

* jcifs.smb.client.dfs.disabled 这个属性一定记得设置true,其默认值是false,不然连接会非常非常的慢。

jcifs.smb.client.dfs.soTimeout、jcifs.smb.client.responseTimeout 这两个属性可以设的稍微大点,避免网络不稳定带来的连接中断。

c.登录鉴权(针对电脑设置了密码的情况)

String ip = "192.168.1.100";

String username = "AFAP";

String password = "123456";

UniAddress mDomain = UniAddress.getByName(ip);

NtlmPasswordAuthentication mAuthentication = new NtlmPasswordAuthentication(ip, username, password);

SmbSession.logon(mDomain, mAuthentication);

*至此,就完成了鉴权,接下来可以浏览电脑里的文件了。当然,实际过程你会遇到各种异常,请根据日志解决。

d.浏览各磁盘下文件夹与文件

// 获取跟目录然后获取下面各个盘符

String rootPath = "smb://" + ip + "/";

SmbFile mRootFolder;

// 匿名登录即无需登录

if (mSpu.isAnonymous()) {

mRootFolder = new SmbFile(rootPath);

} else {

mRootFolder = new SmbFile(rootPath, mAuthentication);

}

try {

SmbFile[] files;

files = mRootFolder.listFiles();

for (SmbFile smbfile : files) {

mAdapterList.add(smbfile);

}

} catch (SmbException e) {

// ...

}

后面就是根据得到的文件进行展示或者其他操作了,比如复制、改名、上传等。

4.注意点

被访问目标需要关闭防火墙;

加载远程文件列表等操作都是网络操作,不能在UI线程进行。

其他相关

android 文件管理 smb,【Android 冷知识】利用SMB协议远程查看电脑文件或者其他存储设备...相关推荐

  1. 左撇子的人怎么使用计算机,小漫画讲述冷知识,左撇子很苦恼,电脑自动弹窗发明者是谁?...

    原标题:小漫画讲述冷知识,左撇子很苦恼,电脑自动弹窗发明者是谁? 这个世界上仍旧隐藏着很多不为人知的冷知识,因为这些知识的领域太过于偏僻而不为大众所熟知. 外国画师将一些被人类忽视或者是无从得知的冷知 ...

  2. linux系统查看usb口,Linux运维知识之Linux系统下查看USB设备名及使用USB设备

    本文主要向大家介绍了Linux运维知识之Linux系统下查看USB设备名及使用USB设备,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 1.系统插入USB设备后,从控制台界面有 ...

  3. Linux挂载nfs只读文件系统,[mcj]利用NFS mount远程目录之后文件夹变成只读的解决办法...

    之前讲过如何利用NFS将远程目录mount到本地文件夹的方法: 不过这个方法目前有个问题,就是mount之后的文件夹变成了只读,但是直接查看文件夹的权限,看到的却是777 看来问题出在了NFS mou ...

  4. Android 文件管理器 Android文件管理器源代码

    /**************************************************** 大家都知道写博客会很累的,大热天的. 希望=转载请注明出处:http://blog.csdn ...

  5. 利用hilink 插座远程开电脑

    器材,欧瑞博华为hilink插座一个, 220V小型交流常开继电器一只 首先按照插座说明下载华为的智慧生活app ,根据说明一步步操作后,在手机上就可以远程控制hilink插座的开和关了.现在把电脑的 ...

  6. android对象序列化,Android序列化总结

    前言 公园里,一位仙风鹤骨的老者在打太极,一招一式都仙气十足,一个年轻人走过去:"大爷,太极这玩意儿花拳绣腿,你练它干啥?"老者淡淡一笑:"年轻人,你还没有领悟到太极的真 ...

  7. android动态逆向,Android逆向之动态分析so篇

    斗哥这期将给大家带来Android逆向的动态分析,主要简述了Android动态分析环境配置与IDA调试so文件.学习Android逆向动态分析前,一定要有基础环境支持,比如sdk.jdk等,所以在动态 ...

  8. android getevent参数,android getevent、sendevent、input keyevent 使用说明

    设备节点: dev 字符设备节点: shell@android:/dev/input $ ll crw-rw---- root input 13, 64 2013-11-28 17:23 event0 ...

  9. web基础知识(3)--HTTP协议与web框架与其他

    一.HTTP协议 HTTP(Hyper Text Transfer Protocol 超文本传输协议 )协议是基于TCP/IP协议的用于传递数据的协议,其默认端口为80/TCP,简单来说就是客户端与服 ...

最新文章

  1. ASP.NET WebAPi之断点续传下载(下)
  2. 如何通过结构化智能体完成物理构造任务?| 技术头条
  3. gradle加载spring包
  4. dbcp连接mysql,8小时会自动断开连接
  5. java 数据对_数据表与简单java类(一对多)
  6. CGCTF-Web-签到题
  7. 文献记录(part22)--Learning local metrics from pairwise similarity data
  8. Python操作MySQL的封装类
  9. 2008,人力资源软件是否还依然
  10. ReflectionZ_测试_01
  11. pymysql执行有参数的in语句
  12. Delphi XE +SQLServer把图片当作文本存储
  13. visual_c++外挂教程(较详细)
  14. 外交部官员回应中国免签国都是穷乱国:需要时间
  15. C#把月日年帶有 AM、PM的时间格式转换为正常时间格式
  16. Easypoi导出excel去掉title标题
  17. Python程序设计 大作业 简化的PS
  18. (ROS)Moveit编程示例
  19. 重启计算机按哪几个键,电脑快捷重启按什么键
  20. .NET框架和发展历史介绍

热门文章

  1. C# error MSB3171: 生成清单时出现问题。未能加载文件或程序集,Windows.winmd
  2. 塞班经典游戏超级矿工(super miners)类似游戏”滚石传说“发布
  3. “伟禄亚太Realord AP”正式上线,机遇与挑战并存
  4. 二十一世纪大学英语读写教程学习笔记(原文)——8 - Foreword(比尔盖茨《未来之路》前言)
  5. 全球MEMS汽车传感器TOP20厂商
  6. HTML案例(二)---登录页
  7. Fliqlo屏幕保护工具不能用了!!!
  8. MySql下载和安装Sqlyog下载安装
  9. ios 与 安卓 移动端浏览器兼容笔记
  10. 刷脸生物识别安全保障远大于传统安全保障