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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/629766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第10章 通信业务

文章目录 10.1.1 通信行业1、通信行业的界定2、通信行业的特点 10.1.2 通信企业10.1.3 通信终端1、通信终端的分类2、终端发展趋势 10.2.1 通信业务的定义及分类10.2.2 基础电信业务1、第一类基础电信业务A11 固定通信业务A12 蜂窝移动通信业务A13 第一类卫星通信业务A14 第一类…

Python文本向量化入门(五):自定义中文词袋

在文本向量化中&#xff0c;使用预训练的词向量&#xff0c;例如Word2Vec、GloVe或FastText等&#xff0c;是常见的做法。这些词向量已经在大量文本数据上进行了训练&#xff0c;为我们提供了现成的词嵌入表示。然而&#xff0c;有时候我们可能希望根据特定的任务或数据集来自定…

探索设计模式的魅力:简单工厂模式

简单工厂模式&#xff08;Simple Factory Pattern&#xff09;是一种创建型设计模式&#xff0c;其主要目的是用于创建对象的实例。这种模式通过封装创建对象的代码来降低客户代码与具体类之间的耦合度。简单工厂不是GoF&#xff08;四人帮&#xff09;设计模式之一&#xff0c…

Yii 场景场景试用model

// 1.场景使用// 模型代码 设置场景[[ip], unique, on > create],//唯一验证 $teacher_model new Course(); $teacher_model->setScenario(create);//设置使用哪个场景// 2.获取模型修改前后属性方法 // $model->getDirtyAttributes() 修改后的值getOldAttributes()前…

Vue Mixin 代码重用与逻辑共享

✨ 专栏介绍 在当今Web开发领域中&#xff0c;构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架&#xff0c;正是为了满足这些需求而诞生。它采用了MVVM架构模式&#xff0c;并通过数据驱动和组件化的方式&#xff0c;使…

二次封装el-upload组件包含文件上传进度条、复制粘贴上传等的功能

功能 1. 支持图片上传进度条 2. 支持粘贴上传图片行为 3. 支持最大图片上传数量 4. 支持图片大小限制 5. 支持图片类型限制 6. 支持图片预览 具体实现 图片上传进度条 由于 :on-progress 钩子没触发&#xff0c;因此使用了 :on-change 钩子代替实现。进度条的值先用定时器递增…

免费电子书全集分享

分享一个在github免费电子书集合&#xff0c;如果想学编程的&#xff0c;可以收藏&#xff0c;项目地址&#xff1a;free-programming-books

行为型设计模式——中介者模式

中介者模式 中介者模式主要是将关联关系由一个中介者类统一管理维护&#xff0c;一般来说&#xff0c;同事类之间的关系是比较复杂的&#xff0c;多个同事类之间互相关联时&#xff0c;他们之间的关系会呈现为复杂的网状结构&#xff0c;这是一种过度耦合的架构&#xff0c;即…

【2024.1.17练习】C++岛屿个数/整数删除

2023蓝桥杯CB组省赛F题&#xff1a;岛屿个数 #include<iostream> #include<algorithm> #include<queue>using namespace std; typedef long long ll;const int dx[8] { 1, -1, 0, 0, -1, -1, 1, 1 }; const int dy[8] { 0, 0, 1, -1, -1, 1, -1, 1 };/* …

ruoyi-vue国产化适配之东方通TongHttpServer

1.将安装包解压 tar -zxvf TongHttpServer_6.0.0.2_x86_64.tar.gz 2.THS 主程序需要 license 才能启动&#xff0c;将 license.dat 文件放在 THS 目录内 3.启动主程序 4. http://IP:8000/ 账号&#xff1a;admin 密码&#xff1a;ths#123.com 5.可以在配置文件--文件编辑…

HFSS笔记/信号完整性分析(二)——软件仿真设置大全

文章目录 1、多核运算设置1.1 如何设置1.2 如何查看自己电脑的core呢&#xff1f;1.3 查看求解的频点 2、求解模式设置Driven Terminal vs Driven modal 3、Design settings4、自适应网格划分5、更改字体设置 仅做笔记整理与分享。 1、多核运算设置 多核运算只对扫频才有效果&…

STC8H8K蓝牙智能巡线小车——5.超声波测距(超声波检测障碍物)

超声波测距原理 所选超声波测距模组&#xff1a;HC-SR04 官方解释 HC-SR04 超声波测距模块可供 2cm提-400cm 的非接触式距离感测功能&#xff0c;测距精度可达高到 3mm&#xff1b;模块包括超声波发射器、接收器与控制电路。 基本工作原理 采用 IO 口 TRIG 触发测距&#…

ARM day2、day3 汇编

一、汇编学习&#xff1a;可以向上理解软件、向下感知硬件 二、符号&#xff08;注释&#xff09; 注释#注释&#xff08;放在行首表示注释一行&#xff09;/* */注释#数字立即数&#xff1a;一种标号&#xff08;比如main: loop:&#xff09;.text .end换行…

2024 年 SEO 您需要了解的 8 个关键 SEO 趋势

SEO的未来正趋向于更加以用户为中心、合乎道德和技术先进的方法。 为什么&#xff1f; 人工智能 &#xff08;AI&#xff09; 和机器学习在搜索引擎中的兴起使他们能够更好地理解用户意图并提供更相关的结果Google 将经验、专业知识、权威性和可信度 &#xff08;E-E-A-T&…

【flink番外篇】18、通过数据管道将table source加入datastream示例

一、Flink 专栏 Flink 专栏系统介绍某一知识点&#xff0c;并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分&#xff0c;比如术语、架构、编程模型、编程指南、基本的datastream api用…

安全基础~web攻防特性1

文章目录 知识补充ASP安全Aspx安全分析与未授权访问php特性&web89~97靶场练习ctfshow 知识补充 使用thinkphp开发的框架&#xff0c;其首页访问指向public目录&#xff0c;指向其中的index.php文件 指向的index.php打开网页后是如下情况&#xff0c;代码如下 定义应用目…

计算机网络——第三层:网络层

1. IP数据报 1.1 IPV4数据报 1.1.1 IPv4数据报的结构 如图按照RFC 791规范显示了一个IPv4数据包头部的不同字段 IPv4头部通常包括以下部分&#xff1a; 1.1.1.1 版本&#xff08;Version&#xff09; 指明了IP协议的版本&#xff0c;IPv4表示为4。 1.1.1.2 头部长度&#x…

【机器学习入门】机器学习基础概念与原理

*&#xff08;本篇文章旨在帮助新手了解机器学习的基础概念和原理&#xff0c;不深入讨论算法及核心公式&#xff09; 目录 一、机器学习概念 1、什么是机器学习&#xff1f; 2、常见机器学习算法和模型 3、使用Python编程语言进行机器学习实践 4、机器学习的应用领域 二…

nxp s32k144芯片使用J-LINK程序刷写

1.nxp s32k144 (1)打开软件&#xff1a;J-Flash V6.30j (2)新建工程&#xff1a;file->new project (3)选择芯片型号和 target interface (4)可以保存芯片和接口配置 (5)打开程序&#xff1a;File->open data file &#xff08;6&#xff09;程序刷写&#xff1a;T…

探索 GitHub:高效使用技巧与实例分享

探索 GitHub&#xff1a;高效使用技巧与实例分享 前言: 欢迎来到本篇博客&#xff0c;今天我们将深入研究 GitHub 的一些高效使用技巧&#xff0c;以便更好地利用这一强大的代码托管平台。 1. GitHub 简介&#xff1a; GitHub 是全球最大的代码托管平台之一&#xff0c;它不…