HarmonyOS 鸿蒙Next 如何读取rawfile下的json文件

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 如何读取rawfile下的json文件 如何读取rawfile下的json文件

5 回复

读取应用内目录文件参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-file-access-V5

// pages/xxx.ets
import fs from '@ohos.file.fs';
import common from '@ohos.app.ability.common';
import buffer from '@ohos.buffer';

// 获取应用文件路径
let context = getContext(this) as common.UIAbilityContext;
let filesDir = context.filesDir;

function createFile(): void { // 新建并打开文件
  let file = fs.openSync(filesDir + '/test.txt', fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); // 写入一段内容至文件
  let writeLen = fs.writeSync(file.fd, "Try to write str.");
  console.info("The length of str is: " + writeLen); // 从文件读取一段内容
  let arrayBuffer = new ArrayBuffer(1024);

  class Option {
    public offset: number = 0;
    public length: number = 0;
  }
  let option = new Option();
  option.length = arrayBuffer.byteLength;
  let readLen = fs.readSync(file.fd, arrayBuffer, option);
  let buf = buffer.from(arrayBuffer, 0, readLen);
  console.info("the content of file: " + buf.toString()); // 关闭文件
  fs.closeSync(file);
}

读取rawfile目录参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-resource-manager-V5#getrawfilecontent9

示例代码:

let value: Uint8Array = await context.resourceManager.getRawFileContent(srcPath);
let str = buffer.from(value.buffer).toString();

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


你好我使用这段代码去访问rawfile下的文件报错 9001005 无效的相对路径,想问一下有没有遇到过这种问题?应该怎么处理?

try {
    context.resourceManager.getRawFileContent("/resources/resfile/theme.json", (error: BusinessError, value: Uint8Array) => {
      if (error != null) {
        console.error("error is " + error);
      } else {
        let rawFile = value;
      }
    });
} catch (error) {
    let code = (error as BusinessError).code;
    let message = (error as BusinessError).message;
    console.error(`callback getRawFileContent failed, error code: ${code}, message: ${message}.`);
}

项目名称

  • 项目状态: [项目状态]
  • 创建时间: [创建时间]

项目描述

[项目描述]

基本信息

  • 负责人: [负责人]
  • 开发语言: [开发语言]
  • 技术栈: [技术栈]

项目截图

项目截图

解决啦 谢谢了,

- 项目名称: My Project
- 开始日期: 2023-10-01
- 结束日期: 2023-10-30

![项目截图](https://example.com/screenshot.png)

在HarmonyOS(鸿蒙)系统中读取rawfile目录下的JSON文件,可以通过以下步骤实现:

首先,确保你的JSON文件已经被正确地放置在rawfile目录下。在鸿蒙项目中,rawfile目录通常用于存放不经过编译处理的原始文件,如图片、音频、JSON等。

接下来,你需要使用鸿蒙提供的文件读取API来访问这个文件。具体步骤如下:

  1. 获取文件路径:使用鸿蒙的文件路径构造方法,构建指向rawfile目录下JSON文件的完整路径。

  2. 打开文件:利用文件IO API打开该文件,确保以正确的模式(如只读模式)打开。

  3. 读取文件内容:将文件内容读取到内存中,通常可以读取为字符串或字节数组。

  4. 解析JSON:使用鸿蒙或第三方JSON解析库,将读取到的字符串或字节数组解析为JSON对象或JSON数组,以便后续处理。

  5. 关闭文件:完成文件读取后,记得关闭文件以释放资源。

请注意,鸿蒙系统的API可能与Android或其他操作系统有所不同,因此你需要查阅鸿蒙系统的官方文档,以获取具体的API使用方法和示例代码。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部