zoukankan      html  css  js  c++  java
  • Android获取SD卡路径/内存的几种方法

    下面正式开始介绍,先是获取SD卡根目录的方法:

    添加权限:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    1
    2
    if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
    //为真则SD卡已装入,
    sdCardExist=Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);

    }

    if(sdCardExist)
    {
    sdDir = Environment.getExternalStorageDirectory();//获取跟目录
    //查找SD卡根路径
    sdDir.toString();
    Log.e("main","得到的根目录路径:"+sdDir);
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    打印Log:

    博主打开手机文件管理器首先来到的所在页面就是这个路径,只是手机上不会显示这个路径


    另外一个更灵活的获取外部路径的方法:

    File directory_doc = Environment.getExternalStoragePublicDirectory(Environment. DIRECTORY_DOCUMENTS);
    //使用这个方法需要传入公共目录的类型如Environment.DIRECTORY_DOCUMENTS
    //查看公共目录文档文件的路径
    Log.e("main","得到的公共目录:"+directory_doc);
    1
    2
    3
    4
    获取路径的其他方法;

    方法 描述
    DIRECTORY_DOCUMENTS 标准文件目录,可以是用户自定义创建的。Standard directory in which to place documents that have been created by the user.
    DIRECTORY_DOWNLOADS 下载目录. Standard directory in which to place files that have been downloaded by the user.
    DIRECTORY_MOVIES 影视目录.Standard directory in which to place movies that are available to the user.
    DIRECTORY_MUSIC 音乐目录.Standard directory in which to place any audio files that should be in the regular list of music for the user.
    DIRECTORY_PICTURES 用户可以获得的图片目录.Standard directory in which to place pictures that are available to the user.
    更多内容:https://developer.android.com/reference/android/os/Environment


    当你有多个外部存储卡:

    File[] files;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    files = getExternalFilesDirs(Environment.MEDIA_MOUNTED);
    for(File file:files){
    Log.e("main", "得到的全部外存:" +String.valueOf(file));


    //便历所有外部存储
    }
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    这里由于博主手机只有一个sd卡,所以只打印了一行路径
    1
    2

    得到内存:

    File internal=getFilesDir();
    Log.e("main","内存路径:"+internal);
    ---------------------

  • 相关阅读:
    支持高速局域网文件传输的企业云盘(速度可达20M)
    高版本Sqlserver数据库还原到低版本数据库的实现方式
    sqlserver没有采用默认实例时 通过ip进行链接
    AM8互联设置方法
    蛮好用的Gungho重点工作督查督办跟踪管理系统
    AM8后台历史数据手工清理方法
    AM8不能下任何载附件及所有聊天记录无法登记
    【OI】时间复杂度
    【OI】矩阵快速幂
    【Ubuntu】奇怪的无法启动
  • 原文地址:https://www.cnblogs.com/ly570/p/11014131.html
Copyright © 2011-2022 走看看