android设备应用读取外接U盘设备方法

废话不多说,上正文,由于现在android移植到各种平台上,很多android设备都可以支持U盘,但android API目前只有SD卡的获取,没有U盘的获取,支持U盘的设备也是各个厂商自己折腾,不经相同,因此需要找个折中的办法去解决;

不管各个厂商怎么实现U盘的挂载,但基本上都是挂在到/mnt目录下,那么现在关键就是怎么获取U盘到底挂载到/mnt下的哪个目录,但前提是需要知道U盘现在是否已经挂在;我们分两步说:1.检测U盘是否已经挂在;2.获取U盘挂载路径,3.........都知道挂载路径了,读文件写文件浏览等等不需要说了;

1.检测U盘是否挂载,可以直接读取实时/proc/partitions文件获取,至于为什么,看代码可知;

File Usbfile = new File("/proc/partitions");
		if (Usbfile.exists())
		{
			try
			{
				FileReader file = new FileReader("/proc/partitions");
				BufferedReader br = new BufferedReader(file);
				String strLine = "";
				while ((strLine = br.readLine()) != null)
				{
					if (strLine.indexOf("sd") > 0)
					{
						//已经挂载,不排除有多个哦,可以自己好好想想如何处理多个U盘检测
						break;
					}
				}
				br.close();
				file.close();
			} catch (Exception e)
			{
				e.printStackTrace();
			}
		}

2.获取U盘挂载路径,U盘、SD卡等外接存储设备的挂载,大部分都是在/system/etc/vold.fstab中指定了挂载路径,这么说就简单了吧;直接读取改文件,就可以知道U盘被挂载到哪个目录了,放心的是,基本上都再/mnt目录下,好了,至于读取代码嘛,看看上面第1点哦,至于多U盘挂载区分,都到这地步了,自己解决吧, so easy!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值