Android 获取存储

getRootDirectory   /data
getExternalStorageDirectory()   /storage/emulated/0
getDataDirectory()  /system

注意:

long l1 = localStatFs.getBlockSize();

long l2 = localStatFs.getBlockCount();

否则越界

package com.mz.realparam.utils;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import android.app.ActivityManager;import android.content.Context;import android.os.Environment;import android.os.StatFs;import android.text.format.Formatter;public class MemUtil {  public static long getDataDir()   {     long l1 = -1L;     try     {       StatFs localStatFs = new StatFs(Environment.getDataDirectory().getPath());       long l2 = localStatFs.getBlockSize();       int i = localStatFs.getBlockCount();       l1 = l2 * i;       return l1;     }     catch (Throwable localThrowable)     {       localThrowable.printStackTrace();     }     return l1;   }    public static long getDataDirAvail()   {     long l1 = -1L;     try     {       StatFs localStatFs = new StatFs(Environment.getDataDirectory().getPath());       long l2 = localStatFs.getBlockSize();       int i = localStatFs.getAvailableBlocks();       l1 = l2 * i;       return l1;     }     catch (Throwable localThrowable)     {       localThrowable.printStackTrace();     }     return l1;   }//--------------------------------------------------------public static String getExternalStorage(Context paramContext) {StatFs localStatFs = new StatFs(Environment.getExternalStorageDirectory().getPath());return Formatter.formatFileSize(paramContext,localStatFs.getBlockSize() * localStatFs.getBlockCount())+"  | "+(localStatFs.getBlockSize() * localStatFs.getBlockCount())+" | "+ localStatFs.getBlockCount()+" | "+localStatFs.getBlockSize();} public static String getExternalStorageAvail(Context paramContext)  {    if (Environment.getExternalStorageState().equals("mounted"));    for (int i = 1; i == 0; i = 0)      return "0";    try    {      StatFs localStatFs = new StatFs(Environment.getExternalStorageDirectory().getPath());      int j = localStatFs.getBlockSize();      int k = localStatFs.getAvailableBlocks();      long a= localStatFs.getBlockSize();      long b = localStatFs.getAvailableBlocks();      return Formatter.formatFileSize(paramContext.getApplicationContext(), j * k)+" | "+(j*k)+"  "+Formatter.formatFileSize(paramContext.getApplicationContext(), a * b)+" | "+(a*b);//      return k * j;    }    catch (Throwable localThrowable)    {        localThrowable.printStackTrace();    }    return "0";  } public static String getSDCardSize(Context paramContext) {if ("mounted".equals(Environment.getExternalStorageState())) {StatFs localStatFs = new StatFs(Environment.getExternalStorageDirectory().getPath());long l1 = localStatFs.getBlockSize();long l2 = localStatFs.getBlockCount();return Formatter.formatFileSize(paramContext, l2 * l1)+" | "+(l2*l1)+"  | "+l2+" | "+l1;}return "0";} //-------------------------------------------------//SystemSize  public static String getSystemSizeRootDir(Context paramContext)  {    StatFs localStatFs = new StatFs(Environment.getRootDirectory().getPath());    long l1 = localStatFs.getBlockSize();    long l2 = localStatFs.getBlockCount();    return Formatter.formatFileSize(paramContext.getApplicationContext(), l2 * l1)+" | "+(l2 * l1);  }  public static String getSystemSizeRootDirAvail(Context paramContext)  {    StatFs localStatFs = new StatFs(Environment.getRootDirectory().getPath());    long l1 = localStatFs.getBlockSize();    long l2 = localStatFs.getAvailableBlocks();    return Formatter.formatFileSize(paramContext.getApplicationContext(), l2 * l1)+" | "+(l2 * l1);  }    //----------------------------------     //----------------------------------    public static String getMeminfo()    {      String str = null;      try      {        BufferedReader localBufferedReader = new BufferedReader(new FileReader("/proc/meminfo"), 8192);        str = localBufferedReader.readLine().split("\\s+")[1];        localBufferedReader.close();        int i = 0;        if (str != null)          i = (int)Math.ceil(new Float(Float.valueOf(str).floatValue() / 1024.0F).doubleValue());        return i + "MB";      }      catch (Exception localException)      {        while (true)          localException.printStackTrace();      }    }    public static long getMeminfo2(Context paramContext)    {      try      {        BufferedReader localBufferedReader = new BufferedReader(new FileReader("/proc/meminfo"), 8192);        long l = 1024L * Long.valueOf(localBufferedReader.readLine().split("\\s+")[1]).longValue();        localBufferedReader.close();        return l / 1024L / 1024L;      }      catch (IOException localIOException)      {      }      return 0L;    }        //-----------------------------------      public static long getavailMem(Context paramContext)    {      ActivityManager localActivityManager = (ActivityManager)paramContext.getSystemService("activity");      ActivityManager.MemoryInfo localMemoryInfo = new ActivityManager.MemoryInfo();      localActivityManager.getMemoryInfo(localMemoryInfo);      return localMemoryInfo.availMem/ 1024L / 1024L;    }                      }

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Android – 自定义Loading圆点
  2. 小心XmlPullParser.netText()方法
  3. 基本布局之线性布局(LinearLayout)
  4. 关于android:screenOrientation="portrai
  5. 详谈Android(安卓)apk打包:关于APK数字签
  6. Android(安卓)View视图系统分析和Scrolle
  7. Android XML使用
  8. Android(安卓)快速获取用户通信录联系人
  9. 除去ScrollView拉到尽头时再拉的阴影效果
  10. UVC系列1-Android盒子控制云台摄像头系列