获取不同机型外置SD卡路径

获取不同机型外置SD卡路径

大家好,又见面了,我是全栈君。

/**
	 * 运行挂载命令。返回挂载的地址。然后将地址解析
	 */
	private void getExtSDCardPath() {
		try {
			Runtime runtime = Runtime.getRuntime();
			Process proc = runtime.exec("mount");
			InputStream is = proc.getInputStream();
			InputStreamReader isr = new InputStreamReader(is);
			String line;
			String mount = new String();
			BufferedReader br = new BufferedReader(isr);
			while ((line = br.readLine()) != null){
				System.out.println(line);
				if (line.contains("secure"))
					continue;
				if (line.contains("asec"))
					continue;
				if (line.contains("fat")){
					String columns[] = line.split(" ");
					if (columns != null && columns.length > 1){
						mount = mount.concat("*" + columns[1] + "\n");
					}
				}else if (line.contains("fuse")){
					String columns[] = line.split(" ");
					if (columns != null && columns.length > 1){
						mount = mount.concat(columns[1] + "\n");
					}
				}
			}
			System.out.printf(mount);
		} catch (FileNotFoundException e) { 
			e.printStackTrace();
		} catch (IOException e) { 
			e.printStackTrace();
		}
	}

该方法执行的结果(測试机–三星Galaxy NoteII):

08-01 12:42:50.790: I/System.out(19890): none /acct cgroup rw,relatime,cpuacct 0 0
08-01 12:42:50.790: I/System.out(19890): tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
08-01 12:42:50.790: I/System.out(19890): tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
08-01 12:42:50.790: I/System.out(19890): none /dev/cpuctl cgroup rw,relatime,cpu 0 0
08-01 12:42:50.790: I/System.out(19890): /dev/block/mmcblk0p13 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
08-01 12:42:50.795: I/System.out(19890): /dev/block/mmcblk0p3 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered 0 0
08-01 12:42:50.795: I/System.out(19890): /dev/block/mmcblk0p12 /cache ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered 0 0
08-01 12:42:50.795: I/System.out(19890): /dev/block/mmcblk0p16 /data ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered,noauto_da_alloc,discard 0 0
08-01 12:42:50.795: I/System.out(19890): /sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
08-01 12:42:50.795: I/System.out(19890): /dev/fuse /storage/sdcard0 fuse rw,nosuid,nodev,noexec,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
08-01 12:42:50.795: I/System.out(19890): /dev/block/vold/179:17 /storage/extSdCard vfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

08-01 12:42:50.795: I/System.out(19890): /storage/sdcard0
08-01 12:42:50.795: I/System.out(19890): */storage/extSdCard

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116552.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jetbrains 免费激活码 2022【最新永久激活】

    (jetbrains 免费激活码 2022)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年4月1日
    3.2K
  • SpringCloud架构图及简介[通俗易懂]

    SpringCloud架构图及简介[通俗易懂]SpringCloud架构图SpringCloud介绍微服务开发模式2014年说的微服务服务,号称兼顾Dev(开发)和Ops(运维),但实际大多数人都在讲Dev,包括框架SpringBoot/SpringCloud,方法论DDD,包括容器化Docker,强调都是开发2016年CNCF大力推广云原生(CloudNative)概念,推出K8S等运维平台或工具,才逐渐偏向运维Springboot:搭建微服务的基石,可以帮我们快速、方便的启动一个微服务应用Spring

    2022年5月27日
    209
  • django 异常处理_错题解决方案智能系统

    django 异常处理_错题解决方案智能系统前言在讲解如何解决migrate报错原因前,我们先要了解migrate做了什么事情,migrate:将新生成的迁移脚本。映射到数据库中。创建新的表或者修改表的结构。问题1:migrate怎么判断哪

    2022年7月31日
    9
  • OleDbCommand 的特点

    OleDbCommand 的特点OleDbCommand的特点在于以下对数据源执行命令的方法:ExecuteReader 执行返回行的命令。如果用ExecuteReader执行如SQLSET语句等命令,则可能达不到预期的效果。ExecuteNonQuery 执行SQLINSERT、DELELE、UPDATE和SET语句等命令。ExecuteScalar 从数据库中检索单个值(例如一个聚合值)。您

    2022年5月19日
    39
  • mysql analyze_sql contains

    mysql analyze_sql contains在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略…

    2022年10月9日
    3
  • PostgreSQL数据库备份和恢复

    PostgreSQL数据库备份和恢复一、备份1、cmd到PostgreSQL安装目录bin下2、备份命令pg_dump-h192.168.100.23-Upostgrespostgres>D:\postgres.bak3、指令解释如上命令,pg_dump是备份数据库指令;10.194.227.231是数据库的ip地址;postgres是数据库的用户名;postgres是数据库名;>意思是导出到指定目录;4、图文并茂备份二、恢复1、备份命令psql

    2022年5月14日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号