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. android获取手机信息
  2. Android获取当前WiFi的MAC地址-适配所有版本
  3. Android使用Linux mount获取SdCard存储目录
  4. android中的坐标系以及获取坐标的方法
  5. Android画图学习总结(一)——类的简介
  6. Android(安卓)中 ProgressBar 和 AlertDialog 的加载的基本使用
  7. Android获取本机电话号码的简单方法
  8. Android5.x+ 格式化外部存储(u盘, sdcard)的方法
  9. Android获取设备ID号

随机推荐

  1. Android以TelephonyManager取得話機狀態
  2. android输入法控制显示
  3. 日拱一卒(五十三)
  4. android(linux) 背光流程
  5. Android 浅析 ButterKnife (一) 使用
  6. android 如何使用jni
  7. android 拖动图片移动效果
  8. 如何判断android 短信发送(sendTextMessa
  9. android按两次后退键退出程序
  10. Android studio 报错 Plugin with id 'co