Android 各种存储路径区别

这里写图片描述


以下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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值