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