# @ohos.file.trash (Trash) The **file.trash** module provides APIs for querying, recovering, or permanently deleting the files or folders in **Recently deleted** (trash). Currently, only local files and folders are supported. You can use **delete()** of [@ohos.file.fileAccess](js-apis-fileAccess.md) to move a file or folder to the trash. >**NOTE** > > - The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version. > - The APIs of this module are system APIs and can be called only by the file manager. ## Modules to Import ```js import trash from '@ohos.file.trash'; ``` ## trash.listFile listFile(): Array\<FileInfo> Lists the files and folders in the **Recently deleted** list. **Model restriction**: This API can be used only in the stage model. **System capability**: SystemCapability.FileManagement.UserFileService **Required permissions**: ohos.permission.FILE_ACCESS_MANAGER **System API**: This is a system API. **Return value** | Type| Description| | --- | -- | | Array [\<FileInfo>](#fileinfo) | List of the files and folders obtained.| **Error codes** For details about the error codes, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md). **Example** ```js let fileinfos = trash.listFile(); for(let i = 0; i < fileinfos.length; i++){ console.info('uri: ' + fileinfos[i].uri); console.info('srcPath: ' + fileinfos[i].srcPath); console.info('fileName: ' + fileinfos[i].fileName); console.info('mode: ' + fileinfos[i].mode); console.info('size: ' + fileinfos[i].size); console.info('mtime: ' + fileinfos[i].mtime); console.info('ctime: ' + fileinfos[i].ctime); } ``` ## trash.recover recover(uri: string): void; Recovers a file or folder from the trash. **Model restriction**: This API can be used only in the stage model. **System capability**: SystemCapability.FileManagement.UserFileService **Required permissions**: ohos.permission.FILE_ACCESS_MANAGER **System API**: This is a system API. **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------------------------- | | uri | string | Yes | URI of the file or folder to recover.| **Error codes** For details about the error codes, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md). **Example** ```js let fileinfos = trash.listFile(); let uri = fileinfos[0].uri; trash.recover(uri); ``` ## trash.completelyDelete completelyDelete(uri: string): void Permanently deletes a file or folder from the **Recently deleted** list. **Model restriction**: This API can be used only in the stage model. **System capability**: SystemCapability.FileManagement.UserFileService **Required permissions**: ohos.permission.FILE_ACCESS_MANAGER **System API**: This is a system API. **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------------------------- | | uri | string | Yes | URI of the file or folder to delete.| **Error codes** For details about the error codes, see [File Management Error Codes](../errorcodes/errorcode-filemanagement.md). **Example** ```js let fileinfos = trash.listFile(); let uri = fileinfos[0].uri; trash.completelyDelete(uri); ``` ## FileInfo Represents information about a file or folder in the **Recently deleted** list. **Model restriction**: This API can be used only in the stage model. **System capability**: SystemCapability.FileManagement.UserFileService | Name| Type | Readable| Writable| Description | | ------ | ------ | -------- | ------ | -------- | | uri | string | Yes| No| URI of the file or folder.| | srcPath | string | Yes| No| Path of the file or folder before being deleted.| | fileName | string | Yes| No| Name of the file or folder.| | mode | number | Yes| No| Permission on the file or folder.| | size | number | Yes| No| Size of the file or folder.| | mtime | number | Yes| No| Time when the file or folder was last modified.| | ctime | string | Yes| No| Time when the file or folder was created.|