1:先在resource/rawfile下创建json文件,
abconfig.json
{
"buildMode": "debug"
}
2:读取
import { util } from '@kit.ArkTS';
export class FileUtils{
getJsonFileData<T>(context:Context,fileName:string):Promise<T>{
return new Promise((resolve: Function, reject: Function) => {
context.resourceManager.getRawFileContent(fileName, (err, value) => {
if (!!err) {
reject(err)
return
}
let textDecoder = util.TextDecoder.create("utf-8", {
ignoreBOM: true
});
let result = textDecoder.decodeToString(value, {
stream: false
});
let bean: T = JSON.parse(result);
console.error(JSON.stringify(bean))
resolve(bean)
});
});
}
}
export const fileUtils:FileUtils = new FileUtils();
3:使用
//Json
export class TestBean {
buildMode: string = '';
}
//EntryAbility
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
// AppStorageV2.connect(UIContext,'Context', this.context);
fileUtils.getJsonFileData<TestBean>(this.context, 'abconfig.json')
.then((bean: TestBean) => {
console.error('json buildMode -> ' + bean.buildMode)
}).catch((err: BusinessError) => {
console.error(err.message);
})
}
//Page
@Entry
@Component
struct TestPage {
build() {
Text(this.title).onClick(() => {
fileUtils.getJsonFileData<TestBean>(getContext(this), 'abconfig.json')
.then((bean: TestBean) => {
console.error(bean.buildMode)
}).catch((err: BusinessError) => {
console.error(err.message);
})
})
}
}