[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%')
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值