Android获取SD卡总容量,可用大小,机身内存总容量及可用大小的系统方法

Posted 非著名程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android获取SD卡总容量,可用大小,机身内存总容量及可用大小的系统方法相关的知识,希望对你有一定的参考价值。

可能有的同学不知道系统已经提供了获取获取SD卡总容量,可用大小,机身内存总容量及可用大小的系统方法,用系统源代码提供的方法可以很简单,方便的获取其大小。这里我把系统源代码中的一个方法贴出来,供大家参考一下:

图片上

图片上红色方框中的代码就是源代码中获取SD卡大小的程序方法。

在这里我整理了一下,我把我整理封装好的方法给大家贴出来:

/**
	 * 获得SD卡总大小
	 * 
	 * @return
	 */
	private String getSDTotalSize() 
		File path = Environment.getExternalStorageDirectory();
		StatFs stat = new StatFs(path.getPath());
		long blockSize = stat.getBlockSize();
		long totalBlocks = stat.getBlockCount();
		return Formatter.formatFileSize(MainActivity.this, blockSize * totalBlocks);
	

	/**
	 * 获得sd卡剩余容量,即可用大小
	 * 
	 * @return
	 */
	private String getSDAvailableSize() 
		File path = Environment.getExternalStorageDirectory();
		StatFs stat = new StatFs(path.getPath());
		long blockSize = stat.getBlockSize();
		long availableBlocks = stat.getAvailableBlocks();
		return Formatter.formatFileSize(MainActivity.this, blockSize * availableBlocks);
	

	/**
	 * 获得机身内存总大小
	 * 
	 * @return
	 */
	private String getRomTotalSize() 
		File path = Environment.getDataDirectory();
		StatFs stat = new StatFs(path.getPath());
		long blockSize = stat.getBlockSize();
		long totalBlocks = stat.getBlockCount();
		return Formatter.formatFileSize(MainActivity.this, blockSize * totalBlocks);
	

	/**
	 * 获得机身可用内存
	 * 
	 * @return
	 */
	private String getRomAvailableSize() 
		File path = Environment.getDataDirectory();
		StatFs stat = new StatFs(path.getPath());
		long blockSize = stat.getBlockSize();
		long availableBlocks = stat.getAvailableBlocks();
		return Formatter.formatFileSize(MainActivity.this, blockSize * availableBlocks);
	
转载请说明出处。

来源:http://blog.csdn.net/loongggdroid/article/details/12304695

以上是关于Android获取SD卡总容量,可用大小,机身内存总容量及可用大小的系统方法的主要内容,如果未能解决你的问题,请参考以下文章

Android开发之sd卡存储和机身存储的路径获取

通过 C++ 获取 micro SD 卡的大小

获取 Android 上的所有总空间和可用空间

获取手机存储空间大小

Android文件存储使用参考

我们平常习惯讲的手机容量-运行内存(RAM)和机身内存(ROM)的理解