鸿蒙Next如何获取存储空间大小
鸿蒙Next系统如何获取设备存储空间的总容量和可用空间?有没有相关的API接口可以调用?希望能提供具体的代码示例和实现步骤。
2 回复
鸿蒙Next里查存储空间?简单!调用ohos.file.statvfs模块的getTotalSize和getFreeSize方法就行。就像问手机:“你还剩多少内存?”它老实回答:“报告!还剩XX GB,快清垃圾吧!”记得先申请权限,不然系统会傲娇地拒绝你~
更多关于鸿蒙Next如何获取存储空间大小的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在鸿蒙Next(HarmonyOS NEXT)中,可以通过@ohos.file.fs模块获取存储空间大小。以下是具体方法:
1. 导入模块
import fs from '@ohos.file.fs';
2. 获取存储统计信息
使用fs.getFreeSize和fs.getTotalSize获取可用空间和总空间:
// 获取应用沙箱路径(默认获取内部存储)
let path: string = '此处填写目录路径'; // 例如应用沙箱路径
// 异步获取
async function getStorageSize() {
try {
let freeSize = await fs.getFreeSize(path);
let totalSize = await fs.getTotalSize(path);
console.log(`可用空间: ${freeSize} 字节,总空间: ${totalSize} 字节`);
} catch (err) {
console.error('获取存储空间失败: ' + JSON.stringify(err));
}
}
// 同步获取(需在Worker线程使用)
// let freeSize = fs.getFreeSizeSync(path);
// let totalSize = fs.getTotalSizeSync(path);
3. 权限配置(如访问外部存储)
在module.json5中添加存储权限:
{
"module": {
"requestPermissions": [
{
"name": "ohos.permission.FILE_ACCESS_MANAGER",
"reason": "需要访问存储空间"
}
]
}
}
注意事项:
- 路径参数需使用应用可访问的目录(如沙箱路径)。
- 返回值为字节数,可自行转换为GB/MB(1GB = 1024^3 字节)。
- 系统存储需使用
abilityAccessCtrl申请权限。
示例完整代码可参考HarmonyOS文件管理文档。

