HarmonyOS 鸿蒙Next:在ets里写代码获取resource/rawfile/下面的文件一直报错
HarmonyOS 鸿蒙Next:在ets里写代码获取resource/rawfile/下面的文件一直报错
import { AbilityConstant, common, UIAbility, Want } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { window } from '@kit.ArkUI';
import util from '@ohos.util';
import { BusinessError } from '@kit.BasicServicesKit';
import { resourceManager } from '@kit.LocalizationKit';
export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
const resourceManager = this.getContext().createModuleContext('sharedLibrary').resourceManager;
try {
this.context.resourceManager.getRawFileContentSync("SGameConfig.json");
} catch (error) {
let code = (error as BusinessError).code;
let message = (error as BusinessError).message;
console.error(`getRawFdSync failed, error code: ${code}, message: ${message}.`);
}
}
}
报错: getRawFdSync failed, error code: undefined, message: is not callable.
SDK版本是11
更多关于HarmonyOS 鸿蒙Next:在ets里写代码获取resource/rawfile/下面的文件一直报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
楼主您好,报错看应该是调用时机不敌导致的,建议在页面加载出来调用看看。
更多关于HarmonyOS 鸿蒙Next:在ets里写代码获取resource/rawfile/下面的文件一直报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
为什么写在UIAbility
的onCreate中呢,试一下在页面的
aboutToAppear生命周期里呗
在HarmonyOS的ets(Extensible TypeScript)环境中,若你尝试从resource/rawfile/
目录下获取文件并遇到报错,这通常与文件路径访问权限或文件加载方式不正确有关。
确保以下几点:
-
文件路径正确:检查你在ets代码中指定的文件路径是否准确无误。路径应相对于
resource/rawfile/
目录。 -
文件存在:确认所需文件确实存在于
resource/rawfile/
目录下。 -
权限配置:虽然ets环境通常处理资源文件不需要额外权限声明(与原生开发不同),但确保你的项目配置正确无误,包括
package.json
和其他相关配置文件。 -
加载方式:使用正确的API或方法来加载文件。HarmonyOS提供了特定的API来访问资源文件,确保你使用的是这些API而不是尝试直接文件系统访问。
-
错误处理:检查错误信息和日志,了解具体报错原因,可能是文件未找到、权限不足或其他I/O错误。
如果上述步骤均确认无误但问题依旧存在,可能是由于ets框架的bug或其他未知问题。此时,建议直接联系官方支持获取帮助。
如果问题依旧没法解决请联系官网客服, 官网地址是 https://www.itying.com/category-93-b0.html,