`
lversam
  • 浏览: 116185 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类

android系统存储信息的获取

阅读更多

android系统容量信息用Environment和StaFs两个类来获取,具体方法如下:

1.Environment

        File data = Environment.getDataDirectory();//获取手机存储文件对象

        File data = Environment.getExternalStorageDirectory();//获取sdcard文件对象

        File data = Environment.getExternalStorageDirectory();//获取系统root文件对象

2.StatFs:

        StatFs sdStatFs = new StatFs(data.getPath());

        int availableBlocks = statFs.getAvailableBlocks();// 可用存储块的数量
        int blockCount = statFs.getBlockCount();// 总存储块的数量
        int size = statFs.getBlockSize();// 每块存储块的大小
        int totalSize = blockCount * size;// 总存储量
        int availableSize = availableBlocks * size;// 可用容量

 // 获取本机容量信息
	public String phoneCapacity() {
		// 获取本机信息
		File data = Environment.getDataDirectory();
		StatFs statFs = new StatFs(data.getPath());
		int availableBlocks = statFs.getAvailableBlocks();// 可用存储块的数量
		int blockCount = statFs.getBlockCount();// 总存储块的数量

		int size = statFs.getBlockSize();// 每块存储块的大小

		int totalSize = blockCount * size;// 总存储量

		int availableSize = availableBlocks * size;// 可用容量

		String phoneCapacity = Integer.toString(availableSize / 1024 / 1024)
				+ "MB/" + Integer.toString(totalSize / 1024 / 1024) + "MB";

		return phoneCapacity;
	}

	// 获取sdcard容量信息
	public String sdcardCapacity() {
		// 获取sdcard信息
		File sdData = Environment.getExternalStorageDirectory();
		StatFs sdStatFs = new StatFs(sdData.getPath());

		int sdAvailableBlocks = sdStatFs.getAvailableBlocks();// 可用存储块的数量
		int sdBlockcount = sdStatFs.getBlockCount();// 总存储块的数量
		int sdSize = sdStatFs.getBlockSize();// 每块存储块的大小
		int sdTotalSize = sdBlockcount * sdSize;
		int sdAvailableSize = sdAvailableBlocks * sdSize;

		String sdcardCapacity = Integer.toString(sdAvailableSize / 1024 / 1024)
				+ "MB/" + Integer.toString(sdTotalSize / 1024 / 1024) + "MB";
		return sdcardCapacity;
	}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics