HarmonyOS 鸿蒙Next Preview是否支持读取rawfile文件

HarmonyOS 鸿蒙Next Preview是否支持读取rawfile文件

正式运行代码时,我可以使用以下代码获初始化我的页面。我能否在preview时实现等效操作

import util from '@ohos.util'

@Entry
@Component
struct Test {
  @State message: string = 'Hello World'

  aboutToAppear() {
    getContext(this)?.resourceManager.getRawFileContent("testFile").then((data) => {
      this.message = util.TextDecoder.create().decodeWithStream(data)
    })
  }

  build() {
    Row() {
      Column() {
        Text(this.message)
      }
      .width('100%')
    }
    .height('100%')
  }
}

PS:处于preview模式时。getContext(this)返回空


更多关于HarmonyOS 鸿蒙Next Preview是否支持读取rawfile文件的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
很多业务代码无法运行,你理解为预览并没有构建程序只是构建了页面,所以很多东西都是引用不到的。

更多关于HarmonyOS 鸿蒙Next Preview是否支持读取rawfile文件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next Preview支持读取rawfile文件。在鸿蒙系统中,rawfile资源文件通常存放在resources/rawfile目录下,开发者可以通过ResourceManager类来访问这些文件。具体步骤如下:

  1. 获取ResourceManager对象:通过context.getResourceManager()方法获取ResourceManager实例。
  2. 读取rawfile文件:使用ResourceManagergetRawFileEntry方法获取RawFileEntry对象,然后通过RawFileEntryopenRawFileDescriptor方法获取RawFileDescriptor,最后通过RawFileDescriptor读取文件内容。

示例代码:

import resourceManager from '@ohos.resourceManager';

let context = ...; // 获取上下文
let resourceMgr = context.resourceManager;
let rawFileEntry = resourceMgr.getRawFileEntry("rawfile/example.txt");
let rawFileDescriptor = rawFileEntry.openRawFileDescriptor();
let fileContent = rawFileDescriptor.readText(); // 读取文件内容

鸿蒙Next Preview版本继续支持这一功能,开发者可以按照上述方法读取rawfile文件。

回到顶部