# FileIO
## 概述
提供文件基础操作的能力。
**起始版本:** 12
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
| [error_code.h](error__code_8h.md) | 提供文件管理模块的错误码定义。 |
| [oh_fileio.h](oh__fileio_8h.md) | fileio模块接口定义,使用fileio提供的native接口,进行文件基础操作。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
| typedef enum [FileManagement_ErrCode](#filemanagement_errcode-1) [FileManagement_ErrCode](#filemanagement_errcode) | 文件管理模块错误码。 |
| typedef enum [FileIO_FileLocation](#fileio_filelocation-1) [FileIO_FileLocation](#fileio_filelocation) | 文件存储位置枚举值。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [FileManagement_ErrCode](#filemanagement_errcode-1) {
ERR_OK = 0,
ERR_PERMISSION_ERROR = 201,
ERR_INVALID_PARAMETER = 401,
ERR_DEVICE_NOT_SUPPORTED = 801,
ERR_EPERM = 13900001,
ERR_ENOENT = 13900002,
ERR_ENOMEM = 13900011,
ERR_UNKNOWN = 13900042
} | 文件管理模块错误码。 |
| [FileIO_FileLocation](#fileio_filelocation-1) {
LOCAL = 1,
CLOUD = 2,
LOCAL_AND_CLOUD = 3
} | 文件存储位置枚举值。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [FileManagement_ErrCode](#filemanagement_errcode) [OH_FileIO_GetFileLocation](#oh_fileio_getfilelocation) (char \*uri, int uriLength, [FileIO_FileLocation](#fileio_filelocation) \*location) | 获取文件存储位置。 |
## 类型定义说明
### FileIO_FileLocation
```
typedef enum FileIO_FileLocation FileIO_FileLocation
```
**描述**
文件存储位置枚举值。
**起始版本:** 12
### FileManagement_ErrCode
```
typedef enum FileManagement_ErrCode FileManagement_ErrCode
```
**描述**
文件管理模块错误码。
**起始版本:** 12
## 枚举类型说明
### FileIO_FileLocation
```
enum FileIO_FileLocation
```
**描述**
文件存储位置枚举值。
**起始版本:** 12
| 枚举值 | 描述 |
| -------- | -------- |
| LOCAL | 文件存储于本地。 |
| CLOUD | 文件存储于云侧。 |
| LOCAL_AND_CLOUD | 文件存储于本地及云侧。 |
### FileManagement_ErrCode
```
enum FileManagement_ErrCode
```
**描述**
文件管理模块错误码。
**起始版本:** 12
| 枚举值 | 描述 |
| -------- | -------- |
| ERR_OK | 接口调用成功。 |
| ERR_PERMISSION_ERROR | 接口权限校验失败。 |
| ERR_INVALID_PARAMETER | 无效入参。 |
| ERR_DEVICE_NOT_SUPPORTED | 当前设备不支持此接口。 |
| ERR_EPERM | 操作不被允许。 |
| ERR_ENOENT | 不存在此文件或文件夹。 |
| ERR_ENOMEM | 内存溢出。 |
| ERR_UNKNOWN | 内部未知错误。 |
## 函数说明
### OH_FileIO_GetFileLocation()
```
FileManagement_ErrCode OH_FileIO_GetFileLocation (char * uri, int uriLength, FileIO_FileLocation * location )
```
**描述**
获取文件存储位置。
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| uri | 指向入参uri的指针。 |
| uriLength | 入参uri字符串的长度。 |
| location | 输出文件存储位置的指针。 |
**返回:**
返回FileManageMent模块错误码[FileManagement_ErrCode](#filemanagement_errcode)。