HarmonyOS 鸿蒙Next 关于获取rawfile目录下的文件内容

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

HarmonyOS 鸿蒙Next 关于获取rawfile目录下的文件内容

请问各位大佬,我有一个txt文件存在rawfile/widget/res/1.txt这个目录下,我该如何获取到这个txt文件的资源内容

2 回复

可以参考使用getRawFileContent方法读取资源文件

try {
   let context = getContext(this);
 context.resourceManager.getRawFileContent("test.txt", (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}.`);
}

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


在HarmonyOS鸿蒙Next系统中,要获取rawfile目录下的文件内容,可以使用系统提供的文件访问API。以下是一个简要的示例,展示如何读取该文件目录下的内容:

  1. 使用文件访问权限: 确保在config.json中配置了相应的文件访问权限,例如:

    {
        "module": {
            "requestsPermissions": [
                "ohos.permission.READ_EXTERNAL_STORAGE"
            ]
        }
    }
    
  2. 获取文件内容: 使用文件IO接口读取rawfile目录下的文件内容。示例代码如下:

    #include <fstream>
    #include <string>
    #include <iostream>
    
    std::string readFile(const std::string& filePath) {
        std::ifstream file(filePath);
        std::string content((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>());
        return content;
    }
    
    int main() {
        std::string filePath = "/path/to/rawfile/directory/yourfile.txt";
        std::string content = readFile(filePath);
        std::cout << content << std::endl;
        return 0;
    }
    

注意,将/path/to/rawfile/directory/yourfile.txt替换为实际的文件路径。

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

回到顶部