[Harmony]获取资源文件中.txt文件中的字符串
txt文件
src/main/resources/rawfile/userInfo.txt
{"Code": 200,"Msg": "登录成功","RetData": {"Name": "shq","Phone": "18511111111","PostName": "按摩技师","PostType": 1,"Result": false,"ReturnDuration": 0,"Sex": 1,}
}
UserDataManager
import { BusinessError } from '@ohos.base';
import { common } from '@kit.AbilityKit';
import { buffer } from '@kit.ArkTS';
import ConsoleLog from '../extension/ConsoleLog';export class UserDataManager {static async getTextFromResource(context: common.UIAbilityContext): Promise<string> {try {const resourceMgr = context.resourceManager;const content = await resourceMgr.getRawFileContent('userInfo.txt');// 使用buffer模块的from和toString方法const text = buffer.from(content).toString('utf-8');return text;} catch (err) {ConsoleLog.error(`[UserDataManager] ${(err as BusinessError).message}`);throw new Error('Text decode failed');}}
}
使用示例
import common from '@ohos.app.ability.common';
import { UserDataManager } from '../support/data/UserDataManager';@Entry
@Component
struct Index {private context = getContext(this) as common.UIAbilityContext;build() {RelativeContainer() {Button('获取Txt文件中的JSON字符串').onClick(async () => {const jsonStr = await UserDataManager.getTextFromResource(this.context);ConsoleLog.log(jsonStr);})}.height('100%').width('100%')}
}