# @ohos.file.statvfs (文件系统空间统计) 该模块提供文件系统相关存储信息的功能,向应用程序提供获取文件系统总字节数、空闲字节数的JS接口。 > **说明:** > > 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## 导入模块 ```ts import { statfs } from '@kit.CoreFileKit'; ``` ## statfs.getFreeSize getFreeSize(path:string):Promise<number> 异步方法获取指定文件系统空闲字节数,以Promise形式返回结果。 **系统能力**:SystemCapability.FileManagement.File.FileIO **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ---------------------------- | | path | string | 是 | 需要查询的文件系统的文件路径。 | **返回值:** | 类型 | 说明 | | --------------------- | -------------- | | Promise<number> | Promise对象,返回空闲字节数。 | **错误码:** 接口抛出错误码的详细介绍请参见[基础文件IO错误码](errorcode-filemanagement.md#基础文件io错误码)。 **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; import { common } from '@kit.AbilityKit'; let context = getContext(this) as common.UIAbilityContext; let path = context.filesDir; statfs.getFreeSize(path).then((number: number) => { console.info("getFreeSize succeed, Size: " + number); }).catch((err: BusinessError) => { console.error("getFreeSize failed with error message: " + err.message + ", error code: " + err.code); }); ``` ## statfs.getFreeSize getFreeSize(path:string, callback:AsyncCallback<number>): void 异步方法获取指定文件系统空闲字节数,使用callback形式返回结果。 **系统能力**:SystemCapability.FileManagement.File.FileIO **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ---------------------------- | | path | string | 是 | 需要查询的文件系统的文件路径。 | | callback | AsyncCallback<number> | 是 | 异步获取空闲字节数之后的回调。 | **错误码:** 接口抛出错误码的详细介绍请参见[基础文件IO错误码](errorcode-filemanagement.md#基础文件io错误码)。 **示例:** ```ts 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("getFreeSize failed with error message: " + err.message + ", error code: " + err.code); } else { console.info("getFreeSize succeed, Size: " + number); } }); ``` ## statfs.getFreeSizeSync10+ getFreeSizeSync(path:string): number 以同步方法获取指定文件系统空闲字节数。 **系统能力**:SystemCapability.FileManagement.File.FileIO **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ---------------------------- | | path | string | 是 | 需要查询的文件系统的文件路径。 | **返回值:** | 类型 | 说明 | | --------------------- | -------------- | | number | 返回空闲字节数。 | **错误码:** 接口抛出错误码的详细介绍请参见[基础文件IO错误码](errorcode-filemanagement.md#基础文件io错误码)。 **示例:** ```ts import { common } from '@kit.AbilityKit'; let context = getContext(this) as common.UIAbilityContext; let path = context.filesDir; let number = statfs.getFreeSizeSync(path); console.info("getFreeSizeSync succeed, Size: " + number); ``` ## statfs.getTotalSize getTotalSize(path: string): Promise<number> 异步方法获取指定文件系统总字节数,以Promise形式返回结果。 **系统能力**:SystemCapability.FileManagement.File.FileIO **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---- | ------ | ---- | ---------------------------- | | path | string | 是 | 需要查询的文件系统的文件路径。 | **返回值:** | 类型 | 说明 | | --------------------- | ------------ | | Promise<number> | Promise对象,返回总字节数。 | **错误码:** 接口抛出错误码的详细介绍请参见[基础文件IO错误码](errorcode-filemanagement.md#基础文件io错误码)。 **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; import { common } from '@kit.AbilityKit'; let context = getContext(this) as common.UIAbilityContext; let path = context.filesDir; statfs.getTotalSize(path).then((number: number) => { console.info("getTotalSize succeed, Size: " + number); }).catch((err: BusinessError) => { console.error("getTotalSize failed with error message: " + err.message + ", error code: " + err.code); }); ``` ## statfs.getTotalSize getTotalSize(path: string, callback: AsyncCallback<number>): void 异步方法获取指定文件系统总字节数,使用callback形式返回结果。 **系统能力**:SystemCapability.FileManagement.File.FileIO **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ---------------------------- | | path | string | 是 | 需要查询的文件系统的文件路径。 | | callback | AsyncCallback<number> | 是 | 异步获取总字节数之后的回调。 | **错误码:** 接口抛出错误码的详细介绍请参见[基础文件IO错误码](errorcode-filemanagement.md#基础文件io错误码)。 **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; import { common } from '@kit.AbilityKit'; let context = getContext(this) as common.UIAbilityContext; let path = context.filesDir; statfs.getTotalSize(path, (err: BusinessError, number: number) => { if (err) { console.error("getTotalSize failed with error message: " + err.message + ", error code: " + err.code); } else { console.info("getTotalSize succeed, Size: " + number); } }); ``` ## statfs.getTotalSizeSync10+ getTotalSizeSync(path: string): number 以同步方法获取指定文件系统总字节数。 **系统能力**:SystemCapability.FileManagement.File.FileIO **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---- | ------ | ---- | ---------------------------- | | path | string | 是 | 需要查询的文件系统的文件路径。 | **返回值:** | 类型 | 说明 | | --------------------- | ------------ | | number | 返回总字节数。 | **错误码:** 接口抛出错误码的详细介绍请参见[基础文件IO错误码](errorcode-filemanagement.md#基础文件io错误码)。 **示例:** ```ts import { common } from '@kit.AbilityKit'; let context = getContext(this) as common.UIAbilityContext; let path = context.filesDir; let number = statfs.getTotalSizeSync(path); console.info("getTotalSizeSync succeed, Size: " + number); ```