StatFs 一个模拟linux的df命令的一个类,获得SD卡和手机内存的使用情况,这样就简单描述一下StatFs中常用的几个方法
public void onClickQueary(View view) {
StatFs statFs = new StatFs(et_filePath.getEditableText().toString());
long blockSize;
long totalBlocks;
long availableBlocks;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
blockSize = statFs.getBlockSizeLong();
totalBlocks = statFs.getBlockCountLong();
availableBlocks = statFs.getAvailableBlocksLong();
} else {
blockSize = statFs.getBlockSize();
totalBlocks = statFs.getBlockCount();
availableBlocks = statFs.getAvailableBlocks();
}
tv_totalSize.setText(formatSize(blockSize * totalBlocks));
tv_availableSize.setText(formatSize(blockSize * availableBlocks));
Log.e("antier","total:"+formatSize(statFs.getTotalBytes()));
Log.e("antier","Available:"+formatSize(statFs.getAvailableBytes()));
Log.e("antier","Free:"+formatSize(statFs.getFreeBytes()));
}
private String formatSize(long size) {
return Formatter.formatFileSize(this, size);
}
et_filePath为EditText控件,获取的是需要查询文件系统的路径