获取手机内存大小以及获取SD卡内存大小

获取手机的内部总容量和可用容量:

File path = Environment.getDataDirrectory();//获取手机的/data目录
StatFs stat = new StatFs(path.getPath());//获取文件系统的状态
long blockSize = stat.getBlockSize();//每个block 占字节数
long availableBlocks = stat.getAvailableBlocks();//可用的block占字节数
long totalBlocks = stat.getBlockCount();//block总数  

long totalSize = blockSize * totalBlocks;//得到总共占字节数
long availableSize = blockSize * availableBlocks;//得到可用占字节数

String totalSizeStr = Formatter.formatFileSize(this, totalSize);//将总共占字节数格式化为字符串形式
String availableSizeStr = Formatter.formatFileSize(this, availableSize);//将总共占字节数格式化为字符串形式

获取SD卡总容量和可用容量(方法同获取手机内部容量一样,仅获取的文件目录不一样):

File path = Environment.getExternalStorageDirectory();//获取/storage/sdcard目录即获取SD卡的根目录
StatFs stat = new StatFs(path.getPath());//获取文件系统的状态
long blockSize = stat.getBlockSize();//每个block 占字节数
long availableBlocks = stat.getAvailableBlocks();//可用的block占字节数
long totalBlocks = stat.getBlockCount();//block总数  

long totalSize = blockSize * totalBlocks;//得到总共占字节数
long availableSize = blockSize * availableBlocks;//得到可用占字节数

String totalSizeStr = Formatter.formatFileSize(this, totalSize);//将总共占字节数格式化为字符串形式
String availableSizeStr = Formatter.formatFileSize(this, availableSize);//将总共占字节数格式化为字符串形式

注意:
访问SDCard进行文件读写时:
在AndroidManifest.xml中加入访问SDCard的权限如下:

<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

楚蕊博南谭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值