1# @ohos.file.trash (回收站)(系统接口)
2
3本模块接口提供接口,可以查询、还原或彻底删除最近删除(回收站)里的文件/文件夹。当前仅支持本地文件目录。
4
5应用可通过FileAccess的删除操作将文件/文件夹移动到回收站,具体可参考[@ohos.file.fileAccess](js-apis-fileAccess-sys.md)。
6
7>**说明:**
8>
9> - 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
10> - 本模块为系统接口。
11> - 当前只支持文件管理器调用。
12
13## 导入模块
14
15```js
16import trash from '@ohos.file.trash';
17```
18
19## trash.listFile
20
21listFile(): Array\<FileInfo>
22
23查询最近删除(回收站)列表中文件/目录信息。
24
25**模型约束**:此接口仅可在Stage模型下使用。
26
27**系统能力**:SystemCapability.FileManagement.UserFileService
28
29**需要权限**:ohos.permission.FILE_ACCESS_MANAGER
30
31**系统接口:** 此接口为系统接口
32
33**返回值:**
34
35  | 类型 | 说明 |
36  | --- | -- |
37  | Array [\<FileInfo>](#fileinfo) | FileInfo数组 |
38
39**错误码:**
40
41接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
42
43**示例:**
44
45  ```js
46  let fileinfos = trash.listFile();
47  for(let i = 0; i < fileinfos.length; i++){
48    console.info('uri: ' + fileinfos[i].uri);
49    console.info('srcPath: ' + fileinfos[i].srcPath);
50    console.info('fileName: ' + fileinfos[i].fileName);
51    console.info('mode: ' + fileinfos[i].mode);
52    console.info('size: ' + fileinfos[i].size);
53    console.info('mtime: ' + fileinfos[i].mtime);
54    console.info('ctime: ' + fileinfos[i].ctime);
55  }
56  ```
57
58## trash.recover
59
60recover(uri: string): void;
61
62将uri对应文件/目录恢复到原路径。
63
64**模型约束**:此接口仅可在Stage模型下使用。
65
66**系统能力**:SystemCapability.FileManagement.UserFileService
67
68**需要权限**:ohos.permission.FILE_ACCESS_MANAGER
69
70**系统接口:** 此接口为系统接口
71
72**参数:**
73
74| 参数名 | 类型   | 必填 | 说明                       |
75| ------ | ------ | ---- | -------------------------- |
76| uri   | string | 是   | 回收站文件/文件夹URI |
77
78**错误码:**
79
80接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
81
82**示例:**
83
84  ```js
85  let fileinfos = trash.listFile();
86  let uri = fileinfos[0].uri;
87  trash.recover(uri);
88  ```
89
90## trash.completelyDelete
91
92completelyDelete(uri: string): void
93
94将uri对应文件/目录从最近删除(回收站)列表中彻底删除。
95
96**模型约束**:此接口仅可在Stage模型下使用。
97
98**系统能力**:SystemCapability.FileManagement.UserFileService
99
100**需要权限**:ohos.permission.FILE_ACCESS_MANAGER
101
102**系统接口:** 此接口为系统接口
103
104**参数:**
105
106| 参数名 | 类型   | 必填 | 说明                       |
107| ------ | ------ | ---- | -------------------------- |
108| uri   | string | 是   | 回收站文件/文件夹URI |
109
110**错误码:**
111
112接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
113
114**示例:**
115
116  ```js
117  let fileinfos = trash.listFile();
118  let uri = fileinfos[0].uri;
119  trash.completelyDelete(uri);
120  ```
121
122
123## FileInfo
124
125最近删除(回收站)内文件的FileInfo对象。
126
127**模型约束**:此接口仅可在Stage模型下使用。
128
129**系统能力**:SystemCapability.FileManagement.UserFileService
130
131| 名称 | 类型   | 只读 | 可写 | 说明     |
132| ------ | ------ | -------- | ------ | -------- |
133| uri | string | 是 | 否 | 文件/目录uri |
134| srcPath | string | 是 | 否 | 文件/目录删除前原路径 |
135| fileName | string | 是 | 否 | 文件/目录文件名 |
136| mode | number | 是 | 否 | 文件/目录权限信息 |
137| size | number | 是 | 否 |  文件/目录的大小 |
138| mtime | number | 是 | 否 |  文件/目录的修改时间 |
139| ctime | string | 是 | 否 |  文件/目录的创建时间 |