Rawfile

概述

提供操作rawfile目录和rawfile文件的功能,包括遍历、打开、搜索、读取和关闭。rawfile是非线程安全的,close和open相关接口是线程安全的。

起始版本: 8

起始版本: 8

汇总

文件

名称 描述
raw_dir.h 提供rawfile目录相关功能
raw_file.h 提供rawfile文件相关功能,包括搜索、读取和关闭。
raw_file_manager.h 提供资源管理rawfile相关功能,可以使用ResourceManager打开rawfile进行后续相关操作,包括搜索和读取等。

结构体

名称 描述
RawFileDescriptor 提供rawfile文件描述符信息
RawFileDescriptor64 提供rawfile文件描述符信息
说明:RawFile64是新增接口,新接口支持打开更大的rawfile文件,性能更优

类型定义

名称 描述
RawDir 提供对rawfile目录的访问
RawFile 提供对rawfile的访问功能
RawFile64 提供对rawfile的访问功能
说明:RawFile64是新增接口,新接口支持打开更大的rawfile文件,性能更优
NativeResourceManager 代表native侧的ResourceManager

函数

名称 描述
OH_ResourceManager_GetRawFileName (RawDir *rawDir, int index) 通过索引获取rawfile文件名称
OH_ResourceManager_GetRawFileCount (RawDir *rawDir) 获取RawDir中的rawfile数量
OH_ResourceManager_CloseRawDir (RawDir *rawDir) 关闭已打开的RawDir并释放所有相关联资源
OH_ResourceManager_ReadRawFile (const RawFile *rawFile, void *buf, size_t length) 读取rawfile内容,从当前位置读取指定长度的数据
OH_ResourceManager_SeekRawFile (const RawFile *rawFile, long offset, int whence) 基于指定的偏移量,在rawfile文件内搜索读写数据的位置,单位为long
OH_ResourceManager_GetRawFileSize (RawFile *rawFile) 获取rawfile长度,单位为long
OH_ResourceManager_GetRawFileRemainingLength (const RawFile *rawFile) 获取rawfile的剩余长度,单位为long
OH_ResourceManager_CloseRawFile (RawFile *rawFile) 关闭已打开的RawFile 以及释放所有相关联的资源
OH_ResourceManager_GetRawFileOffset (const RawFile *rawFile) 获取rawfile当前的偏移量,单位为long
OH_ResourceManager_GetRawFileDescriptor (const RawFile *rawFile, RawFileDescriptor &descriptor) 基于偏移量和文件长度打开rawfile,并获取rawfile文件描述符
OH_ResourceManager_ReleaseRawFileDescriptor (const RawFileDescriptor &descriptor) 关闭rawfile文件描述符
OH_ResourceManager_ReadRawFile64 (const RawFile64 *rawFile, void *buf, int64_t length) 读取rawfile文件内容,从当前位置读取指定长度的数据
说明:RawFile64是新增接口,新接口支持打开更大的rawfile文件,性能更优
OH_ResourceManager_SeekRawFile64 (const RawFile64 *rawFile, int64_t offset, int whence) 基于指定的偏移量,在rawfile文件内搜索读写数据的位置,单位为int64_t
OH_ResourceManager_GetRawFileSize64 (RawFile64 *rawFile) 获取较大rawfile文件的长度,单位为int64_t
OH_ResourceManager_GetRawFileRemainingLength64 (const RawFile64 *rawFile) 获取较大rawfile的剩余长度,单位为int64_t
OH_ResourceManager_CloseRawFile64 (RawFile64 *rawFile) 关闭已打开的RawFile64 以及释放所有相关联的资源
OH_ResourceManager_GetRawFileOffset64 (const RawFile64 *rawFile) 获取rawfile文件的偏移量,单位为int64_t
OH_ResourceManager_GetRawFileDescriptor64 (const RawFile64 *rawFile, RawFileDescriptor64 *descriptor) 基于偏移量和文件长度打开较大的rawfile,并获取rawfile文件描述符
OH_ResourceManager_ReleaseRawFileDescriptor64 (const RawFileDescriptor64 *descriptor) 关闭rawfile文件描述符
OH_ResourceManager_InitNativeResourceManager (napi_env env, napi_value jsResMgr) 基于JavaScipt侧的ResourceManager获取native侧的ResourceManager,用来完成rawfile相关功能
OH_ResourceManager_ReleaseNativeResourceManager (NativeResourceManager *resMgr) 释放native侧ResourceManager
OH_ResourceManager_OpenRawDir (const NativeResourceManager *mgr, const char *dirName) 打开rawfile目录,打开后可以遍历对应目录下的rawfile文件
OH_ResourceManager_OpenRawFile (const NativeResourceManager *mgr, const char *fileName) 打开rawfile文件,读取文件数据
OH_ResourceManager_OpenRawFile64 (const NativeResourceManager *mgr, const char *fileName) 打开较大的rawfile文件,读取文件数据

类型定义说明

NativeResourceManager

typedef struct NativeResourceManagerNativeResourceManager

描述

代表native侧的ResourceManager

此类封装了JavaScript resource manager的native实现 ResourceManager指针可以通过调用OH_ResourceManager_InitNativeResourceManager方法获取

起始版本: 8

RawDir

typedef struct RawDirRawDir

描述

提供对rawfile目录的访问

起始版本: 8

RawFile

typedef struct RawFileRawFile

描述

提供对rawfile的访问功能

起始版本: 8

RawFile64

typedef struct RawFile64RawFile64

描述

针对64位设备,提供对rawfile的访问功能

起始版本: 11

函数说明

OH_ResourceManager_CloseRawDir()

void OH_ResourceManager_CloseRawDir (RawDir * rawDir)

描述

关闭已打开的RawDir并释放所有相关联资源

起始版本: 8

参数:

名称 描述
rawDir 表示指向RawDir的指针

参见:

OH_ResourceManager_OpenRawDir

OH_ResourceManager_CloseRawFile()

void OH_ResourceManager_CloseRawFile (RawFile * rawFile)

描述

关闭已打开的RawFile 以及释放所有相关联的资源

起始版本: 8

参数:

名称 描述
rawFile 表示指向RawFile的指针

参见:

OH_ResourceManager_OpenRawFile

OH_ResourceManager_CloseRawFile64()

void OH_ResourceManager_CloseRawFile64 (RawFile64 * rawFile)

描述

关闭已打开的RawFile64 以及释放所有相关联的资源

起始版本: 11

参数:

名称 描述
rawFile 表示指向RawFile64的指针

参见:

OH_ResourceManager_OpenRawFile64

OH_ResourceManager_GetRawFileCount()

int OH_ResourceManager_GetRawFileCount (RawDir * rawDir)

描述

获取RawDir中的rawfile数量

通过此方法可以获取OH_ResourceManager_GetRawFileName中可用的索引

起始版本: 8

参数:

名称 描述
rawDir 表示指向RawDir的指针

参见:

OH_ResourceManager_GetRawFileName

OH_ResourceManager_GetRawFileDescriptor()

bool OH_ResourceManager_GetRawFileDescriptor (const RawFile * rawFile, RawFileDescriptor & descriptor )

描述

基于偏移量(单位为long)和文件长度(单位为long)打开rawfile,并获取rawfile文件描述符

打开的文件描述符被用于读取rawfile

起始版本: 8

参数:

名称 描述
rawFile 表示指向RawFile的指针
descriptor 显示rawfile文件描述符,以及在HAP包中的起始位置和长度

返回:

返回true表示打开rawfile文件描述符成功,返回false表示rawfile不允许被访问

OH_ResourceManager_GetRawFileDescriptor64()

bool OH_ResourceManager_GetRawFileDescriptor64 (const RawFile64 * rawFile, RawFileDescriptor64 * descriptor )

描述

基于偏移量(单位为int64_t)和文件长度(单位为int64_t)打开较大的rawfile,并获取e文件描述符

打开的文件描述符被用于读取rawfile

起始版本: 11

参数:

名称 描述
rawFile 表示指向RawFile64的指针
显示rawfile文件描述符,以及在HAP包中的起始位置和长度

返回:

返回true表示打开rawfile文件描述符成功,返回false表示rawfile不允许被访问

OH_ResourceManager_GetRawFileName()

const char* OH_ResourceManager_GetRawFileName (RawDir * rawDir, int index )

描述

通过索引获取rawfile文件名称

可以使用此方法遍历rawfile目录

起始版本: 8

参数:

名称 描述
rawDir 表示指向RawDir的指针
index 表示文件在RawDir中的索引位置

返回:

通过索引返回文件名称,此返回值可以作为OH_ResourceManager_OpenRawFile的输入参数, 如果遍历完所有文件仍未找到,则返回NULL

参见:

OH_ResourceManager_OpenRawFile

OH_ResourceManager_GetRawFileOffset()

long OH_ResourceManager_GetRawFileOffset (const RawFile * rawFile)

描述

获取rawfile当前的偏移量,单位为long

rawfile当前的偏移量

起始版本: 8

参数:

名称 描述
rawFile 表示指向RawFile的指针

返回:

返回rawfile当前的偏移量

OH_ResourceManager_GetRawFileOffset64()

int64_t OH_ResourceManager_GetRawFileOffset64 (const RawFile64 * rawFile)

描述

获取较大rawfile文件的偏移量,单位为int64_t

起始版本: 11

参数:

名称 描述
rawFile 表示指向RawFile64的指针

返回:

返回rawfile当前的偏移量

OH_ResourceManager_GetRawFileRemainingLength()

long OH_ResourceManager_GetRawFileRemainingLength (const RawFile * rawFile)

描述

获取rawfile的剩余长度,单位为long

起始版本: 11

参数:

名称 描述
rawFile 表示指向RawFile的指针

返回:

返回rawfile的剩余长度

OH_ResourceManager_GetRawFileRemainingLength64()

int64_t OH_ResourceManager_GetRawFileRemainingLength64 (const RawFile64 * rawFile)

描述

获取较大rawfile的剩余长度,单位为int64_t.

起始版本: 11

参数:

名称 描述
rawFile 表示指向RawFile64的指针

返回:

返回rawfile的剩余长度

OH_ResourceManager_GetRawFileSize()

long OH_ResourceManager_GetRawFileSize (RawFile * rawFile)

描述

获取rawfile长度,单位为long

起始版本: 8

参数:

名称 描述
rawFile 表示指向RawFile的指针

返回:

返回rawfile的整体长度

OH_ResourceManager_GetRawFileSize64()

int64_t OH_ResourceManager_GetRawFileSize64 (RawFile64 * rawFile)

描述

获取较大rawfile文件的长度,单位为int64_t

起始版本: 11

参数:

名称 描述
rawFile 表示指向RawFile64的指针

返回:

返回rawfile的整体长度

OH_ResourceManager_InitNativeResourceManager()

NativeResourceManager* OH_ResourceManager_InitNativeResourceManager (napi_env env, napi_value jsResMgr )

描述

基于JavaScipt侧的ResourceManager获取native侧的ResourceManager,用来完成rawfile相关功能

起始版本: 8

参数:

名称 描述
env 表示JavaScipt Native Interface (napi)环境指针
jsResMgr 表示JavaScipt resource manager

返回:

返回NativeResourceManager指针

OH_ResourceManager_OpenRawDir()

RawDir* OH_ResourceManager_OpenRawDir (const NativeResourceManager * mgr, const char * dirName )

描述

打开rawfile目录,打开后可以遍历对应目录下的rawfile文件

起始版本: 8

参数:

名称 描述
mgr 表示指向NativeResourceManager的指针,此指针是通过调用 OH_ResourceManager_InitNativeResourceManager方法获取的
dirName 表示要打开的rawfile目录名称,当传递一个空字符串时表示打开rawfile根目录

返回:

返回RawDir指针。使用完此指针后,调用OH_ResourceManager_CloseRawDir释放。

参见:

OH_ResourceManager_InitNativeResourceManager

OH_ResourceManager_CloseRawDir

OH_ResourceManager_OpenRawFile()

RawFile* OH_ResourceManager_OpenRawFile (const NativeResourceManager * mgr, const char * fileName )

描述

打开rawfile文件,打开后可以读取它的数据

起始版本: 8

参数:

名称 描述
mgr 表示指向NativeResourceManager的指针,此指针通过调用OH_ResourceManager_InitNativeResourceManager方法获取
fileName 表示基于rawfile根目录的相对路径下的文件名称

返回:

返回RawFile指针。当使用完此指针,调用OH_ResourceManager_CloseRawFile释放。

参见:

OH_ResourceManager_InitNativeResourceManager

OH_ResourceManager_CloseRawFile

OH_ResourceManager_OpenRawFile64()

RawFile64* OH_ResourceManager_OpenRawFile64 (const NativeResourceManager * mgr, const char * fileName )

描述

打开较大的rawfile文件,打开后可以读取它的数据

起始版本: 11

参数:

名称 描述
mgr 表示指向NativeResourceManager的指针,此指针通过调用OH_ResourceManager_InitNativeResourceManager方法获取
fileName 表示基于rawfile根目录的相对路径下的文件名称

返回:

返回RawFile64指针。当使用完此指针,调用OH_ResourceManager_CloseRawFile64释放。

参见:

OH_ResourceManager_InitNativeResourceManager

OH_ResourceManager_CloseRawFile64

OH_ResourceManager_ReadRawFile()

int OH_ResourceManager_ReadRawFile (const RawFile * rawFile, void * buf, size_t length )

描述

读取rawfile内容,从当前位置读取指定长度的数据

起始版本: 8

参数:

名称 描述
rawFile 表示指向RawFile的指针
buf 用于接收读取数据的缓冲区指针
length 读取数据的字节长度

返回:

返回读取的字节数,如果读取长度超过文件末尾长度,则返回0

OH_ResourceManager_ReadRawFile64()

int64_t OH_ResourceManager_ReadRawFile64 (const RawFile64 * rawFile, void * buf, int64_t length )

描述

读取较大的rawfile文件内容,从当前位置读取指定长度的数据

起始版本: 11

参数:

名称 描述
rawFile 表示指向RawFile64的指针
buf 用于接收读取数据的缓冲区指针
length 读取数据的字节长度

返回:

返回读取的字节数,如果读取长度超过文件末尾长度,则返回0

OH_ResourceManager_ReleaseNativeResourceManager()

void OH_ResourceManager_ReleaseNativeResourceManager (NativeResourceManager * resMgr)

描述

释放native侧ResourceManager

起始版本: 8

参数:

名称 描述
resMgr 表示NativeResourceManager指针

OH_ResourceManager_ReleaseRawFileDescriptor()

bool OH_ResourceManager_ReleaseRawFileDescriptor (const RawFileDescriptor & descriptor)

描述

关闭rawfile文件描述符

已打开的文件描述符在使用完以后必须释放,防止文件描述符泄露

起始版本: 8

参数:

名称 描述
descriptor 包含rawfile文件描述符,以及在HAP包中的起始位置和长度

返回:

返回true表示关闭文件描述符成功,返回false表示关闭文件描述符失败

OH_ResourceManager_ReleaseRawFileDescriptor64()

bool OH_ResourceManager_ReleaseRawFileDescriptor64 (const RawFileDescriptor64 * descriptor)

描述

关闭rawfile文件描述符

已打开的文件描述符在使用完以后必须释放,防止文件描述符泄露

起始版本: 11

参数:

名称 描述
descriptor 包含rawfile文件描述符,以及在HAP包中的起始位置和长度

返回:

返回true表示关闭文件描述符成功,返回false表示关闭文件描述符失败

OH_ResourceManager_SeekRawFile()

int OH_ResourceManager_SeekRawFile (const RawFile * rawFile, long offset, int whence )

描述

基于指定的偏移量,在rawfile文件内搜索读写数据的位置

起始版本: 8

参数:

名称 描述
rawFile 表示指向RawFile的指针
offset 表示指定的偏移量
whence 读写位置,有以下场景:
0: 读写位置为文件起始位置加上offset
1: 读写位置为当前位置加上offset
2: 读写位置为文件末尾加上offset

返回:

如果搜索成功返回<b>(int) 0,如果发生错误返回 (int) -1

OH_ResourceManager_SeekRawFile64()

int OH_ResourceManager_SeekRawFile64 (const RawFile64 * rawFile, int64_t offset, int whence )

描述

基于指定的偏移量,在较大的rawfile文件内搜索读写数据的位置

起始版本: 11

参数:

名称 描述
rawFile 表示指向RawFile64的指针
offset 表示指定的偏移量
whence 读写位置,有以下场景:
0: 读写位置为文件起始位置加上offset
1: 读写位置为当前位置加上offset
2: 读写位置为文件末尾加上offset

返回:

如果搜索成功返回 (int) 0,如果发生错误返回 (int) -1 occurs.