鸿蒙HarmonyOS应用开发之Rawfile开发

场景介绍

开发者可以通过本指导了解在OpenHarmony应用中,如何使用Native Rawfile接口操作Rawfile目录和文件。功能包括文件列表遍历、文件打开、搜索、读取和关闭Rawfile。

接口说明

接口名 描述
NativeResourceManager *OH_ResourceManager_InitNativeResourceManager(napi_env env, napi_value jsResMgr) 初始化native resource manager。
RawDir *OH_ResourceManager_OpenRawDir(const NativeResourceManager *mgr, const char *dirName) 打开指定rawfile目录。
int OH_ResourceManager_GetRawFileCount(RawDir *rawDir) 获取指定rawfile目录下的rawfile文件数量。
const char *OH_ResourceManager_GetRawFileName(RawDir *rawDir, int index) 获取rawfile名字。
RawFile *OH_ResourceManager_OpenRawFile(const NativeResourceManager *mgr, const char *fileName) 打开指定rawfile文件。
long OH_ResourceManager_GetRawFileSize(RawFile *rawFile) 获取rawfile文件大小。
int OH_ResourceManager_SeekRawFile(const RawFile *rawFile, long offset, int whence) 指定rawfile内偏移量。
long OH_ResourceManager_GetRawFileOffset(const RawFile *rawFile) 获取rawfile偏移量。
int OH_ResourceManager_ReadRawFile(const RawFile *rawFile, void *buf, size_t length) 读取rawfile文件内容。
int64_t OH_ResourceManager_GetRawFileRemainingLength(const RawFile *rawFile) 获取rawfile文件剩余长度。
void OH_ResourceManager_CloseRawFile(RawFile *rawFile) 释放rawfile文件相关资源。
void OH_ResourceManager_CloseRawDir(RawDir *rawDir) 释放rawfile目录相关资源。
bool OH_ResourceManager_GetRawFileDescriptor(const RawFile *rawFile, RawFileDescriptor &descriptor) 获取rawfile的fd。
bool OH_ResourceManager_ReleaseRawFileDescriptor(const RawFileDescriptor &descriptor) 释放rawfile的fd。
void OH_ResourceManager_ReleaseNativeResourceManager(NativeResourceManager *resMgr) 释放native resource manager相关资源。

函数介绍

  1. 根据NativeResourceManager实例,使用OH_ResourceManager_OpenRawDir接口获取RawDir实例。
RawDir* rawDir = OH_ResourceManager_OpenRawDir(nativeResourceManager, path.c_str());
  1. 根据RawDir实例,使用OH_ResourceManager_GetRawFileCount接口获取对应目录下的rawfile文件总数 。
int count = OH_ResourceManager_GetRawFileCount(rawDir);
  1. 根据RawDir实例,使用OH_ResourceManager_GetRawFileName接口获取目录下对应index的rawfile文件名。
for (int index = 0; index < count; index++) {
    std::string fileName = OH_ResourceManager_GetRawFileName(rawDir, index);
}
  1. 根据NativeResourceManager实例,使用OH_ResourceManager_OpenRawFile接口获取指定文件名的RawFile实例
RawFile* rawFile = OH_ResourceManager_OpenRawFile(nativeResourceManager, fileName.c_str());
  1. 根据RawFile实例,使用OH_ResourceManager_GetRawFileSize接口获取对应rawfile文件大小。
long rawFileSize = OH_ResourceManager_GetRawFileSize(rawFile);
  1. 根据RawFile实例,使用OH_ResourceManager_SeekRawFile接口指定rawfile偏移量。
int position = OH_ResourceManager_SeekRawFile(rawFile, 10, 0);
int position = OH_ResourceManager_SeekRawFile(rawFile, 0 , 1);
int position = OH_ResourceManager_SeekRawFile(rawFile, -10, 2);
  1. 根据RawFile实例,使用OH_ResourceManager_GetRawFileOffset接口获取rawfile偏移量。
long rawFileOffset = OH_ResourceManager_GetRawFileOffset(rawFile)
  1. 根据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值