This content originally appeared on DEV Community and was authored by liu yang
API Introduction
For detailed API information, refer to ohos.file.statvfs and ohos.file.storageStatistics.
File System and Application Space Statistics
Module | Interface Name | Function |
---|---|---|
@ohos.file.storageStatistics | getCurrentBundleStats | Gets the storage size of the current app (in bytes). |
@ohos.file.statvfs | getFreeSize | Gets the remaining space of the specified file system (in bytes). |
@ohos.file.statvfs | getTotalSize | Gets the total space of the specified file system (in bytes). |
Application Space Statistics
BundleStats Property | Meaning | Statistical Path |
---|---|---|
appSize | Size of the app installation file (in bytes). | App installation files are stored in: /data/storage/el1/bundle. |
cacheSize | Size of the app cache files (in bytes). | App cache files are stored in: /data/storage/el1/base/cache, /data/storage/el1/base/haps/entry/cache, /data/storage/el2/base/cache, /data/storage/el2/base/haps/entry/cache. |
dataSize | Size of app file storage (excluding installation and cache files, in bytes). | App files include local, distributed, and database files. Local files are stored in: /data/storage/el1/base, /data/storage/el2/base. Distributed files are stored in: /data/storage/el2/distributedfiles. Database files are stored in: /data/storage/el1/database, /data/storage/el2/database. |
Development Examples
Getting the Remaining Space of the File System’s Data Partition
import { statfs } from '@kit.CoreFileKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { common } from '@kit.AbilityKit';
let context = getContext(this) as common.UIAbilityContext;
let path = context.filesDir;
statfs.getFreeSize(path, (err: BusinessError, number: number) => {
if (err) {
console.error(`Invoke getFreeSize failed, code is ${err.code}, message is ${err.message}`);
} else {
console.info(`Invoke getFreeSize succeeded, size is ${number}`);
}
});
Getting the Storage Space Size of the Current Application
import { storageStatistics } from '@kit.CoreFileKit';
import { BusinessError } from '@kit.BasicServicesKit';
storageStatistics.getCurrentBundleStats((err: BusinessError, bundleStats: storageStatistics.BundleStats) => {
if (err) {
console.error(`Invoke getCurrentBundleStats failed, code is ${err.code}, message is ${err.message}`);
} else {
console.info(`Invoke getCurrentBundleStats succeeded, appsize is ${bundleStats.appSize}`);
}
});
This content originally appeared on DEV Community and was authored by liu yang