访问android 手机内存与存储卡,查询存储卡剩余容量 (Environment 加 StatFs)

手机的存储空间分为手机内存及 存储卡(SD Card )空间

这里先介绍 对手机内存、SDCard 做添加、删除的功能

程序逻辑是:  首先用户先选择访问手机/ 存储卡,以列表的方式列出所有 目录和文件名, 在选项菜单上 有"添加" 、“删除” , 点击“添加” 将跳转到输入文件内容界面,输入后点菜单 ”保存" 将文件存入内存或  SD卡。  点"删除" 可删除所选择的文件.

需要注意: getFileDir()  获取的路径为  “/data/data/ 程序包名/ files”, "files" 是固定的返回值,即使这个文件夹不存在,这也是程序运行的临时文件夹,

另外,Activity还提供了getCacheDir()方法:   getCacheDir()方法用于获取/data/data/cache目录

  Environment.getExternalStorageDirectory() 获取是 SD卡存储路径 ,返回固定值 "/sdcard".

关于Environment 类,它提供访问环境变量的方法,说明如下:

方法名称与说明
方法名称说明
getDataDirectory() 取得data 目录:/data
getDownloadCacheDirectory()取得 Cache 目录: /cache
getExternalStorageDirectory() 取得 SD卡目录:/sdcard
getExternalStorageState()取得 SD卡状态如: MEDIA_MOUNTED,MEDIA_REMOVED : String                               
getRootDirectory()取得系统目录:/system
示意图如下:

 

具体代码请参见  EX06_09  工程

二 下面介绍 查询存储卡剩余容量

通过 StatFs 文件系统的方法取得  SD 卡里的剩余空间,  注意这里有一个小知识:

将一个较大的数(可以是整型或 浮点型)  在整数位  每 3个数字用, 分隔如 1,000.98, 写法如下:

 DecimalFormat formatter = new DecimalFormat();
    /* 每3个数字用,分隔如:1,000 */
    formatter.setGroupingSize(3);
  String  result  = formatter.format(1233421341324.234234);

此时 result 将  在整数位  每 3个数字以 , 分隔

本程序运行示意图如下: 


相关代码请参见  EX06_08  工程

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值