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)。