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