android应用获取手机存储空间方法

获取手机内部空间和存储卡空间方法:

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;
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值