b6c02d88创建于 8 天前历史提交

ohos.file.fileuri(文件URI)

说明:

当前为Beta阶段。

fileuri模块提供通过PATH获取文件统一资源标识符(Uniform Resource Identifier,URI)的能力,后续可通过使用ohos.file_fs(文件管理)进行相关操作,如open、read、write等,以实现文件分享。

导入模块

import kit.CoreFileKit.*

使用说明

API示例代码使用说明:

  • 若示例代码首行有“// index.cj”注释,表示该示例可在仓颉模板工程的“index.cj”文件中编译运行。
  • 若示例需获取Context应用上下文,需在仓颉模板工程中的“main_ability.cj”文件中进行配置。

上述示例工程及配置模板详见仓颉示例代码说明

func getUriFromPath(String)

public func getUriFromPath(path: String): String

功能: 通过传入的路径path生成应用自己的URI;将path转URI时,路径中的中文及非数字字母的特殊字符将会被编码成对应的ASCII码,拼接在URI中。

系统能力: SystemCapability.FileManagement.AppFileService

起始版本: 22

参数:

参数名 类型 必填 默认值 说明
path String - 文件的沙箱路径。

返回值:

类型 说明
String 返回文件URI。

异常:

示例:

// index.cj

import kit.CoreFileKit.*
import ohos.business_exception.BusinessException
import kit.PerformanceAnalysisKit.Hilog

try {
    let uri = getUriFromPath("test.txt")
} catch (e: BusinessException) {
    Hilog.info(0, "test", "${e.message}")
}

class FileUri

public class FileUri {
    public init(uriOrPath: String)
}

功能: 提供通过PATH获取文件统一资源标志符(Uniform Resource Identifier,URI)的能力,后续可通过使用ohos.file.fs进行相关操作,如open、read、write等,以实现文件分享。

系统能力: SystemCapability.FileManagement.AppFileService

起始版本: 22

prop name

public prop name: String

功能: 通过传入的uri获取到对应的文件名称。(如果文件名中存在ASCII码将会被解码处理后拼接在原处)

类型: String

读写能力: 只读

系统能力: SystemCapability.FileManagement.AppFileService

起始版本: 22

异常:

prop path

public override prop path: String

功能: 将uri转换成对应的沙箱路径path。 1、uri转path过程中会将uri中存在的ASCII码进行解码后拼接在原处,非仓颉API接口生成的uri中可能存在ASCII码解析范围之外的字符,导致字符串无法正常拼接;2、转换处理为系统约定的字符串替换规则(规则随系统演进可能会发生变化),转换过程中不进行路径校验操作,无法保证转换结果的一定可以访问。

类型: String

读写能力: 只读

系统能力: SystemCapability.FileManagement.AppFileService

起始版本: 22

init(String)

public init(uriOrPath: String)

功能: FileUri的构造函数。

系统能力: SystemCapability.FileManagement.AppFileService

起始版本: 22

参数:

参数名 类型 必填 默认值 说明
uriOrPath String - URI或路径。URI类型:
-  应用沙箱URI:file://<bundleName>/<sandboxPath>
-  公共目录文件类URI:file://docs/storage/Users/currentUser/<publicPath>
-  公共目录媒体类URI:file://media/<mediaType>/IMG_DATATIME_ID/<displayName>

异常:

  • BusinessException:对应错误码如下表,详见文件管理错误码

    错误码ID 错误信息
    13900005 I/O error.
    13900011 Out of memory.
    13900020 Invalid argument.
    13900042 Unknown error.
    14300002 Invalid URI.

func toString()

public override func toString(): String

功能: 返回字符串类型URI。

系统能力: SystemCapability.FileManagement.AppFileService

起始版本: 22

返回值:

类型 说明
String 返回字符串类型URI。