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