获取手机内存卡的路径(内置或外置)
来源:互联网 发布:ted演讲 知乎 编辑:程序博客网 时间:2024/05/16 07:32
现在市面上的手机大多有内置sd卡,而用户有的会加个外置sd卡,有的则只使用内置的sd卡。那么我们如果要获取sd卡(内置或外置)的数据,该怎么做?
直接贴代码(代码是从网上的找的,自己修改了一下)
/** * 遍历 "system/etc/vold.fstab” 文件,获取全部的Android的挂载点信息 * * @return */ private static ArrayList<String> getDevMountList() { String[] toSearch = readSDFile("/etc/vold.fstab").split( " "); ArrayList<String> out = new ArrayList<String>(); for (int i = 0; i < toSearch.length; i++) { if (toSearch[i].contains("dev_mount" )) { if (new File(toSearch[i + 2]).exists()) { out.add(toSearch[i + 2]); } } } return out; } /** * 获取扩展SD卡存储目录 * * 如果有外接的SD卡,并且已挂载,则返回这个外置SD卡目录 * 否则:返回内置SD卡目录 * * @return */ public static String getExternalSdCardPath() { if (isMounted()) { File sdCardFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath()); return sdCardFile.getAbsolutePath(); } String path = null; File sdCardFile = null; ArrayList<String> devMountList = getDevMountList(); for (String devMount : devMountList) { File file = new File(devMount); if (file.isDirectory() && file.canWrite()) { path = file.getAbsolutePath(); String timeStamp = new SimpleDateFormat("ddMMyyyy_HHmmss" ).format(new Dat e()); File testWritable = new File(path, "test_" + timeStamp); if (testWritable.mkdirs()) { testWritable.delete(); } else { path = null; } } } if (path != null) { sdCardFile = new File(path); return sdCardFile.getAbsolutePath(); } return null ; } /** * * 读取SD卡中文本文件 * * * * @param fileName * * @return */ public static String readSDFile(String fileName) { StringBuffer sb = new StringBuffer(); File file = new File(fileName); try { FileInputStream fis = new FileInputStream(file); int c; while ((c = fis.read()) != -1) { sb.append(( char) c); } fis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return sb.toString(); } public static boolean isMounted() { if( Environment.getExternalStorageState().equals( "mounted")) return true ; else return false ; }
0 0
- 获取手机内存卡的路径(内置或外置)
- Android 获取手机所有内存卡的路径(包括,内置,外置内存卡)
- Android获取手机中外置内存卡、内置内存卡、手机内存路径
- Android获取手机中外置内存卡、内置内存卡、手机内存路径
- 关于内置内存卡与外置内存卡的路径获取
- 获取外置卡、内置卡、USB路径的封装类
- Android获取内置和外置sd卡路径的方法
- android 手机获取外置SD卡路径
- 获取手机外置sd卡路径
- Android判断是否存在外置SD卡(获取手机所有存储设备的路径)
- 获取SD卡 tf卡 内置外置存储卡路径名称 路径的方式
- Android获取外置存储卡、内置存储卡路径
- android获取内置和外置SD卡路径
- android获取内置和外置SD卡路径
- android获取内置和外置SD卡路径
- android获取内置和外置SD卡路径
- Anroid获取内置外置SD卡路径以及读写测试
- android获取内置和外置SD卡路径
- RTL8188EUS移植到AM3352
- 卡特兰数及应用
- 什么是未知无关代码
- sql语句
- 【Python学习日记】 第一天
- 获取手机内存卡的路径(内置或外置)
- C++的头文件(.h)和实现文件(.cpp)分别写什么
- Java集合类详解
- HIVE学习系列笔记 一(精简版)
- cc2540 定频,设置发射功率
- ideashow开发记事
- 嵌入式Qt程序启动参数-qws
- php curl模块不能开启问题解决方式
- ZXing vs ZBar: 开源条形码SDK性能PK