以下7种全部都是内置SD卡下的路径,注意我的用词都是内置
下面4个路径都是指向内置SD卡的根目录
1 Environment.getExternalStorageDirectory().getAbsolutePath();
2 /storage/emulated/0
3 /mnt/sdcard/
4 /sdcard/
接下来的3个路径都指向内置SD卡下的DCIM文件夹
5 /sdcard/DCIM/
6 /mnt/sdcard/DCIM/
7 /storage/emulated/0/DCIM
经过测试 ,上面的第3、4、5种路径在PC上显示如下:
/sdcard/AnBo/ 这种写法,指向的是SD卡根目录下的AnBo文件夹,PC上显示如下:
说了这么多,介绍一下我使用的手机吧,因为以上的结果均是这台手机上测试的,这样更有参考依据:
我用的手机型号: 华为P9
下面说说外置存SD卡,所谓外置存储卡就是自己买的存储卡,插在手机上,现在的智能手机的内置SD卡是取不出来的,被封装集成到手机内部了
下面就是获取外置SD卡路径的方法
public List getExtSDCardPath()
{
List lResult = new ArrayList();
try {
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("mount");
InputStream is = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
if (line.contains("extSdCard"))
{
String [] arr = line.split(" ");
String path = arr[1];
File file = new File(path);
if (file.isDirectory())
{
lResult.add(path);
}
}
}
isr.close();
} catch (Exception e) {
}
return lResult;
}
List extPaths = getExtSDCardPath();
for (String path : extPaths) {
log.append("外置SD卡路径:" + path + "\r\n");
}
System.out.println(log.toString());
以上外置SD卡路径打印结果: /storage/extSdCar
网上有人总结的很经典,这里也和大家分享一下:
/mnt 目录,熟悉linux的人都清楚,linux默认挂载外部设备都会挂到这个目录下面去,如将sd卡挂载上去后,会生成一个/mnt/sdcard 目录。
/sdcard 目录,这是一个软链接(相当于windows的文件夹的快捷方式),链接到/mnt/sdcard 目录,即这个目录的内容就是sdcard的内容。
FR:海涛高软(QQ技术交流群:386476712)
1698

被折叠的 条评论
为什么被折叠?



