1# Fileuri 2 3 4## 概述 5 6文件统一资源标识符(File Uniform Resource Identifier),支持fileuri与路径path的转换、有效性校验、以及指向的变换(指向的文件或路径)。 7 8**系统能力**:SystemCapability.FileManagement.AppFileService 9 10**起始版本**:12 11 12 13## 汇总 14 15 16### 文件 17 18| 名称 | 描述 | 19| -------- | -------- | 20| [oh_file_uri.h](oh__file__uri_8h.md) | 提供uri和路径path之间的相互转换,目录uri获取,以及URi的有效性校验的方法。 | 21 22 23### 函数 24 25| 名称 | 描述 | 26|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------| 27| [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode) [OH_FileUri_GetUriFromPath](#oh_fileuri_geturifrompath) (const char \*path, unsigned int length, char \*\*result) | 将传入的路径path转换成uri。 | 28| [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode) [OH_FileUri_GetPathFromUri](#oh_fileuri_getpathfromuri) (const char \*uri, unsigned int length, char \*\*result) | 将传入的uri转换成路径path。 | 29| [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode) [OH_FileUri_GetFullDirectoryUri](#oh_fileuri_getfulldirectoryuri) (const char \*uri, unsigned int length, char \*\*result) | 获取uri所在目录的uri,如果是文件uri则获取父目录的uri,如果是目录uri则返回本身。 | 30| bool [OH_FileUri_IsValidUri](#oh_fileuri_isvaliduri) (const char \*uri, unsigned int length) | 校验传入的uri是否有效。 | 31| [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode) [OH_FileUri_GetFileName](#oh_fileuri_getfilename) (const char \*uri, unsigned int length, char \*\*result) | 获取传入uri中的文件名称。 | 32 33## 函数说明 34 35 36### OH_FileUri_GetFullDirectoryUri() 37 38``` 39FileManagement_ErrCode OH_FileUri_GetFullDirectoryUri (const char * uri, unsigned int length, char ** result ) 40``` 41 42**描述** 43 44获取uri所在目录的uri,如果是文件uri则获取父目录的uri,如果是目录uri则返回本身。 45 46**系统能力**:SystemCapability.FileManagement.AppFileService 47 48**起始版本**:12 49 50**参数:** 51 52| 名称 | 描述 | 53| -------- | -------- | 54| uri | 表示要获取目录的uri的原始uri。 | 55| length | 表示原始uri的字节长度。 | 56| result | 表示获取到的目录URi, 需要使用standard library标准库的free()方法释放申请的资源。 | 57 58**返回**: 59 60返回特定的错误码值,详细信息可以查看[FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode)。 61 62 63### OH_FileUri_GetPathFromUri() 64 65``` 66FileManagement_ErrCode OH_FileUri_GetPathFromUri (const char * uri, unsigned int length, char ** result ) 67``` 68 69**描述** 70 71将传入的uri转换成路径path。 72 73**系统能力**:SystemCapability.FileManagement.AppFileService 74 75**起始版本**:12 76 77**参数:** 78 79| 名称 | 描述 | 80| -------- | -------- | 81| uri | 表示要转换的uri。 | 82| length | 表示要转换uri的字节长度。 | 83| result | 表示转换后的路径path. 需要使用standard library标准库的free()方法释放申请的资源。 | 84 85**返回**: 86 87返回特定的错误码值,详细信息可以查看[FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode)。 88 89 90### OH_FileUri_GetUriFromPath() 91 92``` 93FileManagement_ErrCode OH_FileUri_GetUriFromPath (const char * path, unsigned int length, char ** result ) 94``` 95 96**描述** 97 98将传入的路径path转换成uri。 99 100**系统能力**:SystemCapability.FileManagement.AppFileService 101 102**起始版本**:12 103 104**参数:** 105 106| 名称 | 描述 | 107| -------- | -------- | 108| path | 表示要转换的路径。 | 109| length | 表示要转换路径的字节长度。 | 110| result | 表示转换后的uri, 需要使用standard library标准库的free()方法释放申请的资源。 | 111 112**返回**: 113 114返回特定的错误码值,详细信息可以查看[FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode)。 115 116 117### OH_FileUri_IsValidUri() 118 119``` 120bool OH_FileUri_IsValidUri (const char * uri, unsigned int length ) 121``` 122 123**描述** 124 125校验传入的uri是否有效。 126 127**系统能力**:SystemCapability.FileManagement.AppFileService 128 129**起始版本**:12 130 131**参数:** 132 133| 名称 | 描述 | 134| -------- | -------- | 135| uri | 表示需要校验的uri。 | 136| length | 需要校验uri的字节长度。 | 137 138**返回**: 139 140返回true表示传入uri是有效的uri;返回false表示传入的uri是无效的uri。 141 142### OH_FileUri_GetFileName() 143 144``` 145FileManagement_ErrCode OH_FileUri_GetFileName (const char * uri, unsigned int length, char ** result ) 146``` 147 148**描述** 149 150获取传入的uri中的文件名称。 151 152**系统能力**:SystemCapability.FileManagement.AppFileService 153 154**起始版本**:13 155 156**参数:** 157 158| 名称 | 描述 | 159| -------- |------------------------------------------------------| 160| uri | 表示传入的uri。 | 161| length | 表示传入uri的字节长度。 | 162| result | 表示获取到的文件名称. 需要使用standard library标准库的free()方法释放申请的资源。 | 163 164**返回**: 165 166返回特定的错误码值,详细信息可以查看[FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode)。