今天在处理一个获取手机内部储存可用大小和已挂载的外部储存大小的功能逻辑 .
先让我们来看一下这个方法
public long getFreeSpace()
这个方法可以由File对象去调用,而后返回在分区上剩余的字节数量,包括当前File的路径(注意,是long)
废话不多说,我直接上代码了
long phonefreeSpace = Environment.getDataDirectory().getFreeSpace();
long SDfreeSpace = Environment.getExternalStorageDirectory().getFreeSpace();
然后,将获得的字节数据长度用Format类格式化之,注意,是这个包下的
import android.text.format.Formatter;
String formatFileSize = Formatter.formatFileSize(c, data);
这个得到的字符串,就是这个工具类自动解析好的带单位的数据了,可以直接使用
放上一张效果图,大概的过程就是这个样子的,最好加上SD卡的读写权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>