Android 获取存储信息
16lz
2021-01-23
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; } }
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer