[java]  view plain copy
  1. /**
  2. * 获得SD卡总大小
  3. *
  4. * @return
  5. */
  6. private String getSDTotalSize() {
  7. File path = Environment.getExternalStorageDirectory();
  8. StatFs stat = new StatFs(path.getPath());
  9. long blockSize = stat.getBlockSize();
  10. long totalBlocks = stat.getBlockCount();
  11. return Formatter.formatFileSize(MainActivity.this, blockSize * totalBlocks);
  12. }
  13. /**
  14. * 获得sd卡剩余容量,即可用大小
  15. *
  16. * @return
  17. */
  18. private String getSDAvailableSize() {
  19. File path = Environment.getExternalStorageDirectory();
  20. StatFs stat = new StatFs(path.getPath());
  21. long blockSize = stat.getBlockSize();
  22. long availableBlocks = stat.getAvailableBlocks();
  23. return Formatter.formatFileSize(MainActivity.this, blockSize * availableBlocks);
  24. }
  25. /**
  26. * 获得机身内存总大小
  27. *
  28. * @return
  29. */
  30. private String getRomTotalSize() {
  31. File path = Environment.getDataDirectory();
  32. StatFs stat = new StatFs(path.getPath());
  33. long blockSize = stat.getBlockSize();
  34. long totalBlocks = stat.getBlockCount();
  35. return Formatter.formatFileSize(MainActivity.this, blockSize * totalBlocks);
  36. }
  37. /**
  38. * 获得机身可用内存
  39. *
  40. * @return
  41. */
  42. private String getRomAvailableSize() {
  43. File path = Environment.getDataDirectory();
  44. StatFs stat = new StatFs(path.getPath());
  45. long blockSize = stat.getBlockSize();
  46. long availableBlocks = stat.getAvailableBlocks();
  47. return Formatter.formatFileSize(MainActivity.this, blockSize * availableBlocks);
  1. }

/**

* 外部存储是否可用 (存在且具有读写权限)

* @return

*/

staticpublicboolean isExternalStorageAvailable() {

return Environment.getExternalStorageState().equals(

Environment.MEDIA_MOUNTED);

}

在AndroidManifest.xml中加入访问SDCard的权限如下:

<!-- 在SDCard中创建与删除文件权限 -->

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

<!-- 往SDCard写入数据权限 -->

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

接着我们在使用SDcard进行读写的时候 会用到Environment类下面的几个静态方法:

1:getDataDirectory()         获取到Android中的data数据目录

2:getDownloadCacheDirectory() 获取到下载的缓存目录

3:getExternalStorageDirectory()     获取到外部存储的目录 一般指SDcard

4:getExternalStorageState()           获取外部设置的当前状态 一般指SDcard,

android系统中对于外部设置的状态,比较常用的是 MEDIA_MOUNTED(SDcard存在且可以进行读写) MEDIA_MOUNTED_READ_ONLY (SDcard存在,只可以进行读操作) 当然还有其他的一些状态,可以在文档中进行查找到。

5:getRootDirectory()                   获取到Android Root路径

6:isExternalStorageEmulated()    返回Boolean值判断外部设置是否有效

7:isExternalStorageRemovable() 返回Boolean值,判断外部设置是否可以移除

Android获取SD卡总容量,可用大小,机身内存总容量及可用大小的系统方法相关推荐

  1. Android 获取SD卡路径和判断SD卡是否存在.

    android获取sd卡路径方法: public String getSDPath(){ File sdDir = null; boolean sdCardExist =Environment.get ...

  2. android 获取sd卡大小,Android 获取SD卡容量

    SD卡作为手机的扩展存储设备,在手机中充当硬盘角色,可以让我们手机存放更多的数据以及多媒体等大体积文件.因此查看SD卡的内存就跟我们查看硬盘的剩余空间一样,是我们经常操作的一件事,那么在Android ...

  3. android 获取sd卡目录失败_Android正确获取SD卡目录及使用SD卡目录

    此文乃是转载,原文在这里链接 SD卡作为手机的扩展存储设备,在手机中充当硬盘角色,可以让我们手机存放更多的数据以及多媒体等大体积文件.因此查看SD卡的内存就跟我们查看硬盘的剩余空间一样,是我们经常操作 ...

  4. Android 获取SD卡的图片资源

    首先我先获得SD卡下的根目录路径: privateString isSdcard(){File sdcardDir=null;boolean isSDExist=Environment.getExte ...

  5. android 获取sd卡目录失败_树莓派对SD卡的大小,速度有哪些要求?

    SD卡容量的大小 通过NOOBS安装带有桌面和推荐软件(完整)的 Raspberry Pi OS,SD卡最小为16GB. 对于带有桌面和推荐软件的 Raspberry Pi OS 镜像安装,SD卡最小 ...

  6. android 获取sd卡目录失败_Android获取外置SD卡存储路径的方法

    在开发应用的过程中,经常会遇到需要获取设备存储路径的问题.而从网上看到的很多方法获取到的都是内置存储位置,并非外置SD卡路径,因此我推荐使用反射的机制来获取外置存储的路径. 通常,使用Environm ...

  7. android 获取sd卡目录失败_解决Android手机自带内部存储路径存在但是却获取不到内容的问题...

    我有一台中兴的Android手机,型号是 ZTE U930HD,手机没有插入外置SD卡(也就是Micro SD Card,原名Trans-flash Card(TF卡),2004年正式更名为Micro ...

  8. android 获取sd卡目录失败_获取sd卡存储路径失败

    android新手,最近在学习 搜索sd卡上的所有txt文件并将其放入listview中显示,加载的过程中界面上会显示一个progress dialog.在之前的手机(Android5.0 andro ...

  9. android获取sd卡文件系统,HTML5 FileSystem API Android Chrome访问SD卡

    从this article on HTML5 Rocks开始: 重要的是要记住,此文件系统是沙盒式的,这意味着一个Web应用程序无法访问另一个应用程序的文件.这也意味着您无法将文件读/写到用户硬盘驱动 ...

最新文章

  1. C/C++中switch用法的一种替换方式
  2. Java连接数据库警告WARN: Establishing SSL connection without server's identity ......
  3. SAP WM初阶之TO报表LX10 - Evaluation of movements per storage type
  4. 让Windows Server 2008+IIS 7+ASP.NET突破默认限制,支持海量并发连接数
  5. 第一篇,试试功能如何
  6. linux /proc/net/tcp 文件分析
  7. mysql的日期函数以及应用
  8. 替代jquery1.9版本以前的toggle事件函数(开关)
  9. postman自动打开_postman第1讲-开篇:介绍与安装
  10. caffe学习笔记18-image1000test200数据集分类与检索完整过程
  11. php中qq第三方登录演示,实现腾讯qq第三方登录
  12. 【模板】可持久化并查集
  13. Sentinel在订单大量服务调用的应用场景
  14. 全网最新Redis结合Kaptcha实现验证码功能篇一(前后端分离)
  15. 综述 | 知识图谱(Knowledge graph)链路预测(Link Prediction)
  16. Java学习(四)异常
  17. Php程序监控邮件提醒linux,Linux ping命令实现网络监控 并邮件提醒管理员
  18. Unity插件——Odin使用心得(一)
  19. 微信小程序 图片轮播 视频
  20. 【加密算法】3DES加密算法

热门文章

  1. postman,请求前置脚本,Pre-requests Script
  2. 帆软中的日期函数,当月第一天,当年第一天,当月最后一天等
  3. Unity GL函数库的简单使用
  4. 在同一子网下用wireshark抓取QQ用户发送到电脑的图片
  5. 2006设计师必备网址全集
  6. 减肥就来红光光浴吧,健康又安全
  7. 竹云+巨杉丨互信认证 安全可靠
  8. 这几个 GitHub 项目真带劲
  9. React中实现插槽
  10. 【BasicNet系列:六】MobileNet 论文 v1 v2 笔记解读 + pytorch代码分析