1e41f4b71Sopenharmony_ci# @ohos.statfs (statfs)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci该模块提供文件系统相关存储信息的功能,向应用程序提供获取文件系统总字节数、空闲字节数的JS接口。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **说明:**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> - 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8e41f4b71Sopenharmony_ci> - 本模块从API version 9开始废弃,建议使用[@ohos.file.statvfs](js-apis-file-statvfs.md)替代。
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci## 导入模块
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci```ts
13e41f4b71Sopenharmony_ciimport statfs from '@ohos.statfs';
14e41f4b71Sopenharmony_ci```
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci## statfs.getFreeBytes
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_cigetFreeBytes(path:string):Promise<number>
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci异步方法获取指定文件系统空闲字节数,以Promise形式返回结果。
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.File.FileIO
23e41f4b71Sopenharmony_ci
24e41f4b71Sopenharmony_ci**参数:**
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ci  | 参数名 | 类型   | 必填 | 说明                         |
27e41f4b71Sopenharmony_ci  | ------ | ------ | ---- | ---------------------------- |
28e41f4b71Sopenharmony_ci  | path   | string | 是   | 需要查询的文件系统的文件路径 |
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci**返回值:**
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci  | 类型                  | 说明           |
33e41f4b71Sopenharmony_ci  | --------------------- | -------------- |
34e41f4b71Sopenharmony_ci  | Promise<number> | 返回空闲字节数 |
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci**示例:**
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci  ```ts
39e41f4b71Sopenharmony_ci  import { BusinessError } from '@ohos.base';
40e41f4b71Sopenharmony_ci  let path = "/dev";
41e41f4b71Sopenharmony_ci  statfs.getFreeBytes(path).then((number: number) => {
42e41f4b71Sopenharmony_ci    console.info("getFreeBytes promise successfully:" + number);
43e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
44e41f4b71Sopenharmony_ci    console.error("getFreeBytes failed with error:" + JSON.stringify(err));
45e41f4b71Sopenharmony_ci  });
46e41f4b71Sopenharmony_ci  ```
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ci## statfs.getFreeBytes
49e41f4b71Sopenharmony_ci
50e41f4b71Sopenharmony_cigetFreeBytes(path:string, callback:AsyncCallback<number>): void
51e41f4b71Sopenharmony_ci
52e41f4b71Sopenharmony_ci异步方法获取指定文件系统空闲字节数,使用callback形式返回结果。
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.File.FileIO
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci**参数:**
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci  | 参数名   | 类型                        | 必填 | 说明                         |
59e41f4b71Sopenharmony_ci  | -------- | --------------------------- | ---- | ---------------------------- |
60e41f4b71Sopenharmony_ci  | path     | string                      | 是   | 需要查询的文件系统的文件路径 |
61e41f4b71Sopenharmony_ci  | callback | AsyncCallback<number> | 是   | 异步获取空闲字节数之后的回调 |
62e41f4b71Sopenharmony_ci
63e41f4b71Sopenharmony_ci**示例:**
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ci  ```ts
66e41f4b71Sopenharmony_ci  import common from '@ohos.app.ability.common';
67e41f4b71Sopenharmony_ci  import { BusinessError } from '@ohos.base';
68e41f4b71Sopenharmony_ci  let context = getContext(this) as common.UIAbilityContext;
69e41f4b71Sopenharmony_ci  let path = context.filesDir;
70e41f4b71Sopenharmony_ci  statfs.getFreeBytes(path, (err: BusinessError, freeBytes:Number) => {
71e41f4b71Sopenharmony_ci      if (err) {
72e41f4b71Sopenharmony_ci          console.error('getFreeBytes callback failed');
73e41f4b71Sopenharmony_ci      } else {
74e41f4b71Sopenharmony_ci          console.info('getFreeBytes callback success' + freeBytes);
75e41f4b71Sopenharmony_ci      }
76e41f4b71Sopenharmony_ci  });
77e41f4b71Sopenharmony_ci  ```
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ci## statfs.getTotalBytes
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_cigetTotalBytes(path: string): Promise<number>
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ci异步方法获取指定文件系统总字节数,以Promise形式返回结果。
84e41f4b71Sopenharmony_ci
85e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.File.FileIO
86e41f4b71Sopenharmony_ci
87e41f4b71Sopenharmony_ci**参数:**
88e41f4b71Sopenharmony_ci
89e41f4b71Sopenharmony_ci  | 参数名 | 类型   | 必填 | 说明                         |
90e41f4b71Sopenharmony_ci  | ---- | ------ | ---- | ---------------------------- |
91e41f4b71Sopenharmony_ci  | path | string | 是   | 需要查询的文件系统的文件路径 |
92e41f4b71Sopenharmony_ci
93e41f4b71Sopenharmony_ci**返回值:**
94e41f4b71Sopenharmony_ci
95e41f4b71Sopenharmony_ci  | 类型                  | 说明         |
96e41f4b71Sopenharmony_ci  | --------------------- | ------------ |
97e41f4b71Sopenharmony_ci  | Promise<number> | 返回总字节数 |
98e41f4b71Sopenharmony_ci
99e41f4b71Sopenharmony_ci**示例:**
100e41f4b71Sopenharmony_ci
101e41f4b71Sopenharmony_ci  ```ts
102e41f4b71Sopenharmony_ci  import { BusinessError } from '@ohos.base';
103e41f4b71Sopenharmony_ci  let path = "/dev";
104e41f4b71Sopenharmony_ci  statfs.getTotalBytes(path).then((number: number) => {
105e41f4b71Sopenharmony_ci    console.info("getTotalBytes promise successfully:" + number);
106e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
107e41f4b71Sopenharmony_ci    console.error("getTotalBytes failed with error:" + JSON.stringify(err));
108e41f4b71Sopenharmony_ci  });
109e41f4b71Sopenharmony_ci  ```
110e41f4b71Sopenharmony_ci
111e41f4b71Sopenharmony_ci## statfs.getTotalBytes
112e41f4b71Sopenharmony_ci
113e41f4b71Sopenharmony_cigetTotalBytes(path: string, callback: AsyncCallback<number>): void
114e41f4b71Sopenharmony_ci
115e41f4b71Sopenharmony_ci异步方法获取指定文件系统总字节数,使用callback形式返回结果。
116e41f4b71Sopenharmony_ci
117e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.File.FileIO
118e41f4b71Sopenharmony_ci
119e41f4b71Sopenharmony_ci**参数:**
120e41f4b71Sopenharmony_ci
121e41f4b71Sopenharmony_ci  | 参数名   | 类型                        | 必填 | 说明                         |
122e41f4b71Sopenharmony_ci  | -------- | --------------------------- | ---- | ---------------------------- |
123e41f4b71Sopenharmony_ci  | path     | string                      | 是   | 需要查询的文件系统的文件路径 |
124e41f4b71Sopenharmony_ci  | callback | AsyncCallback<number> | 是   | 异步获取总字节数之后的回调   |
125e41f4b71Sopenharmony_ci
126e41f4b71Sopenharmony_ci**示例:**
127e41f4b71Sopenharmony_ci
128e41f4b71Sopenharmony_ci  ```ts
129e41f4b71Sopenharmony_ci  import common from '@ohos.app.ability.common';
130e41f4b71Sopenharmony_ci  import { BusinessError } from '@ohos.base';
131e41f4b71Sopenharmony_ci  let context = getContext(this) as common.UIAbilityContext;
132e41f4b71Sopenharmony_ci  let path = context.filesDir;
133e41f4b71Sopenharmony_ci  statfs.getTotalBytes(path, (err: BusinessError, totalBytes:Number) => {
134e41f4b71Sopenharmony_ci      if (err) {
135e41f4b71Sopenharmony_ci          console.error('getTotalBytes callback failed');
136e41f4b71Sopenharmony_ci      } else {
137e41f4b71Sopenharmony_ci          console.info('getTotalBytes callback success' + totalBytes);
138e41f4b71Sopenharmony_ci      }
139e41f4b71Sopenharmony_ci  });
140e41f4b71Sopenharmony_ci  ```
141e41f4b71Sopenharmony_ci
142