在日常开发中,有时候需要对SDCard的容量先进行判断再存储文件。我们可以通过查看android关于setting功能的源代码,以便找到获取sdcard可用空间的方法。
获取sdcard容量大小的主要代码如下:
File path = Environment.getExternalStorageDirectory();//查找SDCard路径
StatFs stat=new StatFs(path.getPath());//文件路径的描述,得到当前路径所对应的信息
long blockSize=stat.getBlockSize();//每一块空间的大小
long totalBlocks=stat.getBlockCount();//空间块的数目
long availBlocks=stat.getAvailableBlocks();//可用空间块的数目
long totalSize=blockSize*totalBlocks;//SDCard总容量
long availSize=blockSize*availBlocks;//SDCard可用容量
String totalStr = Formatter.formatFileSize(this, totalSize);//格式化字符串
String availStr = Formatter.formatFileSize(this, availSize);
tv.setText("SDCard总容量:"+totalStr+"\nSDCard可用容量:"+availStr);
用同样的方式,我们也可以获取手机机身的容量信息,只需将变量path的进行修改,即:File path = Environment.getDataDirectory();