首页 > 代码库 > 获得手机内容空间大小
获得手机内容空间大小
获得手机内容空间 大小 代码
1 public class MainActivity extends Activity { 2 3 4 private TextView tv_01; 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.activity_main); 9 10 tv_01 = (TextView) findViewById(R.id.tv_01);11 12 // 得到 SD卡的信息13 // Environment.getExternalStorageDirectory() 返回路径 /mnt/sdcard14 File sdcardFileDir = Environment.getExternalStorageDirectory();15 String SDmemory = getMemory(sdcardFileDir);16 17 // 得到 手机内部存储空间 18 // Environment.getDataDirectory() 返回路径 /data19 File dataFileDir = Environment.getDataDirectory();20 String dataMemory = getMemory(dataFileDir);21 22 tv_01.setText("SD卡 "+SDmemory+"\n手机内部 "+dataMemory);23 }24 25 26 public String getMemory(File path){27 28 // path.getPath() 返回 该 文件的路径 29 // 获得 该路径下 磁盘状态 30 // statFs 检索文件系统的整个信息空间 31 StatFs stat = new StatFs(path.getPath());32 // 获得 每个扇区的带大小 33 34 // 在较高版本的 系统中 提示 getBlockSize 过时,需要使用getBlockSizeLong()下面的方法类似 35 // 但是如果在低版本的系统中 使用 getBlockSizeLong() 可能会出现编译错误36 long blockSize = stat.getBlockSize(); 37 // 获得总共有多少个扇区38 long totalBlocks = stat.getBlockCount(); 39 // 获得 可用扇区40 long avaiableBlocks = stat.getAvailableBlocks(); 41 42 //总空间 43 44 String totalMemory = Formatter.formatFileSize(this, blockSize * totalBlocks);45 46 // 可用空间 47 48 String avaiableMemory = Formatter.formatFileSize(this, totalBlocks*avaiableBlocks);49 50 return "总空间:"+totalMemory+"\n"+"可用空间:"+avaiableMemory;51 }52 53 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。