# @ohos.file.storageStatistics (Application Storage Statistics) The **storageStatistics** module provides APIs for obtaining storage space information, including the space of built-in and plug-in memory cards, space occupied by different types of data, and space of application data. > **NOTE** > > - The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version. > - The APIs of this module support processing of error codes. For details, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md). ## Modules to Import ```js import storageStatistics from "@ohos.file.storageStatistics"; ``` ## storageStatistics.getTotalSizeOfVolume getTotalSizeOfVolume(volumeUuid: string): Promise<number> Obtains the total size (in bytes) of the specified volume in an external storage device. This API uses a promise to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Parameters** | Name | Type | Mandatory| Description| | ---------- | ------ | ---- | ---- | | volumeUuid | string | Yes | UUID of the volume.| **Return value** | Type | Description | | --------------------- | ---------------- | | Promise<number> | Promise used to return the total volume size obtained.| **Example** ```js let uuid = ""; storageStatistics.getTotalSizeOfVolume(uuid).then(function(number){ console.info("getTotalSizeOfVolume successfully:"+ number); }).catch(function(err){ console.info("getTotalSizeOfVolume failed with error:"+ err); }); ``` ## storageStatistics.getTotalSizeOfVolume getTotalSizeOfVolume(volumeUuid: string, callback: AsyncCallback<number>): void Obtains the total size (in bytes) of the specified volume in an external storage device. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Parameters** | Name | Type | Mandatory| Description | | ---------- | ------------------------------------ | ---- | -------------------------- | | volumeUuid | string | Yes | UUID of the volume. | | callback | AsyncCallback<number> | Yes | Callback invoked to return the total volume size obtained.| **Example** ```js let uuid = ""; storageStatistics.getTotalSizeOfVolume(uuid, function(error, number){ // Do something. console.info("getTotalSizeOfVolume successfully:"+ number); }); ``` ## storageStatistics.getFreeSizeOfVolume getFreeSizeOfVolume(volumeUuid: string): Promise<number> Obtains the available space (in bytes) of the specified volume in an external storage device. This API uses a promise to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Parameters** | Name | Type | Mandatory| Description| | ---------- | ------ | ---- | ---- | | volumeUuid | string | Yes | UUID of the volume.| **Return value** | Type | Description | | --------------------- | ------------------ | | Promise<number> | Promise used to return the available volume space obtained.| **Example** ```js let uuid = ""; storageStatistics.getFreeSizeOfVolume(uuid).then(function(number){ console.info("getFreeSizeOfVolume successfully:"+ number); }).catch(function(err){ console.info("getFreeSizeOfVolume failed with error:"+ err); }); ``` ## storageStatistics.getFreeSizeOfVolume getFreeSizeOfVolume(volumeUuid: string, callback: AsyncCallback<number>): void Obtains the available space (in bytes) of the specified volume in an external storage device. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Parameters** | Name | Type | Mandatory| Description | | ---------- | ------------------------------------ | ---- | ---------------------------- | | volumeUuid | string | Yes | UUID of the volume. | | callback | AsyncCallback<number> | Yes | Callback invoked to return the available volume space obtained.| **Example** ```js let uuid = ""; storageStatistics.getFreeSizeOfVolume(uuid, function(error, number){ // Do something. console.info("getFreeSizeOfVolume successfully:"+ number); }); ``` ## storageStatistics.getBundleStats9+ getBundleStats(packageName: string): Promise<BundleStats> Obtains the space (in bytes) of an application. This API uses a promise to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Parameters** | Name | Type | Mandatory| Description | | ----------- | ------ | ---- | -------- | | packageName | string | Yes | Bundle name of the application.| **Return value** | Type | Description | | ------------------------------------------ | -------------------------- | | Promise<[Bundlestats](#bundlestats9)> | Promise used to return the application space obtained.| **Example** ```js let packageName = ""; storageStatistics.getBundleStats(packageName).then(function(BundleStats){ console.info("getBundleStats successfully:"+ JSON.stringify(BundleStats)); }).catch(function(err){ console.info("getBundleStats failed with error:"+ err); }); ``` ## storageStatistics.getBundleStats9+ getBundleStats(packageName: string, callback: AsyncCallback<BundleStats>): void Obtains the space (in bytes) of an application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------------------------- | ---- | ------------------------------------ | | packageName | string | Yes | Bundle name of the application.| | callback | AsyncCallback<[Bundlestats](#bundlestats9)> | Yes | Callback invoked to return the application space obtained.| **Example** ```js let packageName = ""; storageStatistics.getBundleStats(packageName, function(error, BundleStats){ // Do something. console.info("getBundleStats successfully:"+ JSON.stringify(BundleStats)); }); ``` ## storageStatistics.getCurrentBundleStats9+ getCurrentBundleStats(): Promise<BundleStats> Obtains the space (in bytes) of this third-party application. This API uses a promise to return the result. **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics **Return value** | Type | Description | | ------------------------------------------ | -------------------------- | | Promise<[Bundlestats](#bundlestats9)> | Promise used to return the application space obtained. | **Example** ```js let bundleStats = storageStatistics.getCurrentBundleStats(); console.info("getCurrentBundleStats successfully:"+ JSON.stringify(bundleStats)); ``` ## storageStatistics.getCurrentBundleStats9+ getCurrentBundleStats(callback: AsyncCallback<BundleStats>): void Obtains the space (in bytes) of this third-party application. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics **Parameters** | Name | Type | Mandatory | Description | | -------- | --------------------------------------------------------- | ---- | ------------------------------------ | | callback | AsyncCallback<[BundleStats](#bundlestats9)> | Yes | Callback invoked to return the application space obtained. | **Example** ```js storageStatistics.getCurrentBundleStats(function(error, bundleStats){ // Do something. console.info("getCurrentBundleStats successfully:"+ JSON.stringify(bundleStats)); }); ``` ## BundleStats9+ ### Attributes **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics | Name | Type | Readable| Writable| Description | | --------- | ------ | --- | ---- | -------------- | | appSize | number | Yes| No| Size of the application, in bytes. | | cacheSize | number | Yes| No| Cache size of the application, in bytes. | | dataSize | number | Yes| No| Total data size of the application, in bytes.| ## storageStatistics.getTotalSize9+ getTotalSize(): Promise<number> Obtains the total size (in bytes) of the built-in storage. This API uses a promise to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Return value** | Type | Description | | --------------------- | ------------------ | | Promise<number> | Promise used to return the built-in storage size obtained. | **Example** ```js let number = storageStatistics.getTotalSize(); console.info("getTotalSize successfully:"+ JSON.stringify(number)); ``` ## storageStatistics.getTotalSize9+ getTotalSize(callback: AsyncCallback<number>): void Obtains the total size (in bytes) of the built-in storage. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------ | ---- | ------------------------ | | callback | AsyncCallback<number> | Yes | Callback invoked to return the built-in storage size obtained.| **Example** ```js storageStatistics.getTotalSize(function(error, number){ // Do something. console.info("getTotalSize successfully:"+ JSON.stringify(number)); }); ``` ## storageStatistics.getFreeSize9+ getFreeSize(): Promise<number> Obtains the available space (in bytes) of the built-in storage. This API uses a promise to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Return value** | Type | Description | | --------------------- | ------------------ | | Promise<number> | Promise used to return the available space of the built-in storage obtained.| **Example** ```js let number = storageStatistics.getFreeSize(); console.info("getFreeSize successfully:"+ JSON.stringify(number)); ``` ## storageStatistics.getFreeSize9+ getFreeSize(callback: AsyncCallback<number>): void Obtains the available space (in bytes) of the built-in storage. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------ | ---- | ------------------------- | | callback | AsyncCallback<number> | Yes | Callback invoked to return the available space of the built-in storage obtained.| **Example** ```js storageStatistics.getFreeSize(function(error, number){ // Do something. console.info("getFreeSize successfully:"+ JSON.stringify(number)); }); ``` ## storageStatistics.getSystemSize9+ getSystemSize(): Promise<number> Obtains the system data space, in bytes. This API uses a promise to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Return value** | Type | Description | | --------------------- | ---------------- | | Promise<number> | Promise used to return the system data space obtained.| **Example** ```js storageStatistics.getSystemSize().then(function(number){ console.info("getSystemSize successfully:"+ number); }).catch(function(err){ console.info("getSystemSize failed with error:"+ err); }); ``` ## storageStatistics.getSystemSize9+ getSystemSize(callback: AsyncCallback<number>): void Obtains the system data space, in bytes. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Parameters** | Name | Type | Mandatory| Description | | ---------- | ------------------------------------ | ---- | -------------------------- | | callback | AsyncCallback<number> | Yes | Callback invoked to return the system data space obtained.| **Example** ```js storageStatistics.getSystemSize(function(error, number){ // Do something. console.info("getSystemSize successfully:"+ number); }); ``` ## storageStatistics.getUserStorageStats9+ getUserStorageStats(): Promise<StorageStats> Obtains the storage statistics (in bytes) of this user. This API uses a promise to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Return value** | Type | Description | | --------------------- | ---------------- | | Promise<[StorageStats](#storagestats9)> | Promise used to return the information obtained.| **Example** ```js storageStatistics.getUserStorageStats().then(function(StorageStats){ console.info("getUserStorageStats successfully:"+ JSON.stringify(StorageStats)); }).catch(function(err){ console.info("getUserStorageStats failed with error:"+ err); }); ``` ## storageStatistics.getUserStorageStats9+ getUserStorageStats(callback: AsyncCallback<StorageStats>): void Obtains the storage statistics (in bytes) of this user. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Parameters** | Name | Type | Mandatory| Description | | ---------- | ------------------------------------ | ---- | -------------------------- | | callback | AsyncCallback<[StorageStats](#storagestats9)> | Yes | Callback invoked to return the information obtained.| **Example** ```js storageStatistics.getUserStorageStats(function(error, StorageStats){ // Do something. console.info("getUserStorageStats successfully:"+ JSON.stringify(StorageStats)); }); ``` getUserStorageStats(userId: number): Promise<StorageStats> Obtains the storage statistics (in bytes) of the specified user. This API uses a promise to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Parameters** | Name | Type | Mandatory| Description| | ---------- | ------ | ---- | ---- | | userId | number | Yes | User ID.| **Return value** | Type | Description | | --------------------- | ---------------- | | Promise<[StorageStats](#storagestats9)> | Promise used to return the information obtained.| **Example** ```js let userId = 100; storageStatistics.getUserStorageStats(userId).then(function(StorageStats){ console.info("getUserStorageStats successfully:"+ JSON.stringify(StorageStats)); }).catch(function(err){ console.info("getUserStorageStats failed with error:"+ err); }); ``` ## storageStatistics.getUserStorageStats9+ getUserStorageStats(userId: number, callback: AsyncCallback<StorageStats>): void Obtains the storage statistics (in bytes) of the specified user. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.STORAGE_MANAGER **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. **Parameters** | Name | Type | Mandatory| Description | | ---------- | ------------------------------------ | ---- | -------------------------- | | userId | number | Yes | User ID.| | callback | AsyncCallback<[StorageStats](#storagestats9)> | Yes | Callback invoked to return the information obtained.| **Example** ```js let userId = 100; storageStatistics.getUserStorageStats(userId, function(error, StorageStats){ // Do something. console.info("getUserStorageStats successfully:"+ JSON.stringify(StorageStats)); }); ``` ## StorageStats9+ ### Attributes **System capability**: SystemCapability.FileManagement.StorageService.SpatialStatistics This is a system API. | Name | Type | Readable | Writable | Description | | --------- | ------ | ---- | ----- | -------------- | | total | number | Yes| No| Total size of the built-in storage, in bytes. | | audio | number |Yes| No| Space occupied by audio data, in bytes. | | video | number | Yes| No| Space occupied by video data, in bytes.| | image | number | Yes| No| Space occupied by image data, in bytes. | | file | number | Yes| No| Space occupied by files, in bytes. | | app | number | Yes| No| Space occupied by application data, in bytes.|