Android13获取存储空间大小

内部存储

1、总大小
public static long getInternalStorageSize(Context context) {
    File filesDir = context.getFilesDir();
    return filesDir.getTotalSpace();
}
2、可用空间大小
public static long getFreeSpace(Context context) {
    File filesDir = context.getFilesDir();
    return filesDir.getFreeSpace();
}

扩展TF卡

1、总大小
public static long getExternalStorageSize(Context context) {
    StorageManager storageManager = context.getSystemService(StorageManager.class);
    for (StorageVolume volume : storageManager.getStorageVolumes()) {
        if (volume.isRemovable()) {
            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) {
                File directory = volume.getDirectory();
                LogUtils.i("fileUtils", "directory = " + directory.getAbsolutePath());
                LogUtils.i("fileUtils", "directory = " + directory.getTotalSpace());
                return directory.getTotalSpace();
            }
        } else {
            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) {
                File directory = volume.getDirectory();
                LogUtils.i("fileUtils", "false directory = " + directory.getAbsolutePath());
                LogUtils.i("fileUtils", "false directory = " + directory.getTotalSpace());
            }
        }
    }
    return 0;
}
2、可用空间大小
public static long getExternalStorageFreeSize(Context context) {
    StorageManager storageManager = context.getSystemService(StorageManager.class);
    for (StorageVolume volume : storageManager.getStorageVolumes()) {
        if (volume.isRemovable()) {
            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) {
                File directory = volume.getDirectory();
                LogUtils.i("fileUtils", "directory = " + directory.getAbsolutePath());
                LogUtils.i("fileUtils", "free = " + directory.getFreeSpace());
                return directory.getFreeSpace();
            }
        } else {
            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) {
                File directory = volume.getDirectory();
                LogUtils.i("fileUtils", "false directory = " + directory.getAbsolutePath());
                LogUtils.i("fileUtils", "false directory = " + directory.getTotalSpace());
            }
        }
    }
    return 0;
}

单位转换

public static String storageSizeConversion(long size) {
    DecimalFormat df = new DecimalFormat("#.00");
    String fileSizeString = "";
    if (size < 1024) {
        fileSizeString = df.format((double) size) + "B";
    } else if (size < 1048576) {
        fileSizeString = df.format((double) size / 1024) + "K";
    } else if (size < 1073741824) {
        fileSizeString = df.format((double) size / 1048576) + "M";
    } else {
        fileSizeString = df.format((double) size / 1073741824) + "G";
    }
    return fileSizeString;
}

相关推荐

  1. Android13获取存储空间

    2024-01-20 18:46:01       64 阅读
  2. 【代码】Android获取存储权限并创建、存储文件

    2024-01-20 18:46:01       42 阅读
  3. Android 11存储权限兼容

    2024-01-20 18:46:01       37 阅读
  4. Android 13.0修改recovery 菜单项字体

    2024-01-20 18:46:01       59 阅读
  5. Deepin/Ubuntu_查看磁盘空间

    2024-01-20 18:46:01       59 阅读
  6. ubuntu 增加 swap 空间

    2024-01-20 18:46:01       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-20 18:46:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-20 18:46:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-20 18:46:01       87 阅读
  4. Python语言-面向对象

    2024-01-20 18:46:01       96 阅读

热门阅读

  1. 6.文件目录管理命令

    2024-01-20 18:46:01       62 阅读
  2. Unity -简单键鼠事件

    2024-01-20 18:46:01       57 阅读
  3. 嵌入式学习第一天

    2024-01-20 18:46:01       62 阅读
  4. Redis

    Redis

    2024-01-20 18:46:01      55 阅读
  5. RHCE 【DNS服务主从服务器】

    2024-01-20 18:46:01       60 阅读
  6. html css js 开发一个猜数字游戏

    2024-01-20 18:46:01       69 阅读
  7. Jira REST API_获取创建issue时的字段配置

    2024-01-20 18:46:01       62 阅读
  8. windows虚拟主机和linux虚拟主机的区别有哪些?

    2024-01-20 18:46:01       73 阅读
  9. [Python进阶] 正则表达式介绍

    2024-01-20 18:46:01       53 阅读
  10. PIL、cv2、numpy,和pytorch(torch)之间的转换

    2024-01-20 18:46:01       54 阅读