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