获取手机内部空间和存储卡空间方法:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.tv);
/**
* 获取存储卡空间大小
*/
File path = Environment.getExternalStorageDirectory();
StatFs stat = new StatFs(path.getPath());
@SuppressWarnings("deprecation")
long blocksize = stat.getBlockSize(); // 获取每块大小
@SuppressWarnings("deprecation")
long totalBlock = stat.getBlockCount(); // 获取总的块数
@SuppressWarnings("deprecation")
long availableBlock = stat.getAvailableBlocks(); // 获取可用块数
long totalsize = blocksize * totalBlock;
long availablesize = blocksize * availableBlock;
//自动转换字节类型如转换成M或者G等
String total = Formatter.formatFileSize(this, totalsize);
String avai = Formatter.formatFileSize(this, availablesize);
tv.setText("存储卡总大小:" + total + "\n" + "存储卡剩余空间:" + avai + "\n"
+ getRomSpaceInfo());
}
/**
* 获取手机内部空间大小
* @return
*/
public String getRomSpaceInfo() {
File path = Environment.getDataDirectory();
StatFs stat = new StatFs(path.getPath());
@SuppressWarnings("deprecation")
long blocksize = stat.getBlockSize(); // 获取每块大小
@SuppressWarnings("deprecation")
long totalBlock = stat.getBlockCount(); // 获取总的块数
@SuppressWarnings("deprecation")
long availableBlock = stat.getAvailableBlocks(); // 获取可用块数
long totalsize = blocksize * totalBlock;
long availablesize = blocksize * availableBlock;
String total = Formatter.formatFileSize(this, totalsize);
String avai = Formatter.formatFileSize(this, availablesize);
return "手机内存:" + total + "\n" + "手机内存剩余:" + avai;
}
}